친구 여러분, 환경 변수 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은 작동합니다.