시스템 내 어디에서나 C 프로그램(Ubuntu 10.10)을 어떻게 실행할 수 있나요?

시스템 내 어디에서나 C 프로그램(Ubuntu 10.10)을 어떻게 실행할 수 있나요?

친구 여러분, 환경 변수 PATH에 내 C 프로그램의 경로를 추가하고 싶습니다. 내 C 프로그램 이름은 "md5"입니다. 이렇게 하면 어디에서나(예: 모든 디렉터리) 실행할 수 있습니다.

내 md5 프로그램은 에 있습니다 /home/ahuq/MappingServer/md5_program. 그래서 제가 한 일은 다음과 같습니다.

export PATH=$PATH:/home/ahuq/MappingServer/md5_program

실행중인 쉘에서. 이렇게 하면 일시적인 변경만 수행되며 md5일시적으로 어디에서나 프로그램을 실행할 수 있습니다.

root@ahuq-kitchen:/home/ahuq# md5 -sanis
MD5 ("anis") = 38a1ffb5ccad9612d3d28d99488ca94b

하지만 저는 이 변화를 영구적으로 만들고 싶습니다.

PATH=$PATH:/home/ahuq/MappingServer/md5_program해당 줄을 and 파일 끝에 넣으려고 합니다 . 쉘을 종료하고 다시 들어갑니다. 그러나 이것은 작동하지 않았습니다./home/ahuq/.bashrc/home/ahuq/.profile

root@ahuq-kitchen:/home/ahuq# md5 -sanis
No command 'md5' found, did you mean:
Command 'cd5' from package 'cd5' (universe)
Command 'mdu' from package 'mtools' (main)
Command 'mdb' from package 'mono-debugger' (universe)
md5: command not found

PATH위 파일의 잘못된 위치에 선언을 넣었을 수도 있습니다 . 이 두 파일에는 if-else-fi 구조가 많이 있습니다. PATH이러한 구조에 명령문을 입력 해야 합니까 ? 그냥 로그아웃해야 합니까, 아니면 변경 사항을 적용하려면 시스템을 재부팅해야 합니까?

답변1

경로를 올바른 위치에 놓은 것 같습니다. 그러나 경로 어딘가에 공백이 있으면 작동하지 않을 수 있습니다. 정확성을 보장하기 위해 다음을 시도할 수 있습니다.

export PATH="$PATH:/home/ahuq/MappingServer/md5_program"

/usr/local/bin또는 애플리케이션을 md5sum.

답변2

도트 파일을 보지 않고는 확실히 말하기 어렵지만 인용한 내용에서 .profile 및 .bashrc 파일에 추가할 때 "내보내기"를 생략했습니다.

답변3

귀하의 질문에서 :

root@ahuq-kitchen:/home/ahuq# md5 -sanis

그러나 사용자의 .bashrc만 편집했다고 말씀하셨습니다.

모든 사용자에 대해 전역 경로가 필요한 경우 이를 편집할 수 있습니다( /etc/bash.bashrc권한 문제로 인해 다른 사용자가 홈 디렉터리에서 실행할 수 없는 경우 문제가 발생할 수 있음). 또는 md5루트 및 로컬 사용자에게만 변경 사항을 적용해야 하는 경우 /root/.bashrc편집을 고려하십시오 .

또는 더 바람직하게는 루트로서 Ubuntu의 모든 사람을 위한 기본 명령인 md5에 명령을 설치/복사하는 것을 고려할 수 있습니다 ./usr/local/bin$PATH

다음을 수행할 수 있습니다.

$ sudo cp /home/ahuq/MappingServer/md5_program/md5 /usr/local/bin
$ sudo chown root:root /usr/local/bin/md5
$ sudo chmod 755 /usr/local/bin/md5

답변4

또한 내 경로에 실행 파일을 추가하는 데 몇 가지 문제가 있습니다. 나에게 도움이 된 export PATH=$PATH:/home/ahuq/MappingServer/md5_program것은 ~/.bash_profile.

불행히도 왜 그런지 모르겠지만 met .bashrc는 작동하지 않지만 .bash_profile은 작동합니다.

관련 정보