sudo [duplicate]를 사용하여 PATH에 추가된 폴더를 찾을 수 없습니다.

sudo [duplicate]를 사용하여 PATH에 추가된 폴더를 찾을 수 없습니다.

가능한 중복:
'sudo'로 실행 시 환경 변수

내 경로에 새 폴더를 추가했지만 "sudo"를 사용하여 해당 폴더에 있는 프로그램을 실행할 때 작동하지 않습니다.

내가 입력할 때

sudo <command-name>

그것은 다음을 반환합니다 :

sudo: <command-name>: command not found

sudo에서 어떻게 사용할 수 있나요?

답변1

이상하다. 어쨌든 내 생각에는

sudo /FULL_PATH/program_name

작동합니다.

또 다른 좋은 아이디어는 /sbin/ 디렉토리에 심볼릭 링크를 추가하는 것입니다.

sudo ln -s /FULL_PATH/program_name /sbin

답변2

PATH는 ~/.profile, ~/.bashrc 또는 ~/.bash_profile 파일에 있습니다. 이 파일은 귀하의 계정용으로만 만들어졌습니다.

PATH를 설정할 때 /home/yourname/.profile을 편집했을 것입니다. 맞죠? Sudo는 (사람들이 생각하는 것처럼) /home/yourname/ 대신 /root/.profile의 PATH를 사용하지 않으며 항상 사용자 고유의 PATH를 사용하지도 않습니다.

문제는 sudo가 몇 가지 변수를 덮어쓴다는 것입니다. 어느 것이 시스템에 따라 다릅니다. 루트로 다음을 실행합니다.

sudo -V

PATH가 사용되는지 여부를 알려줍니다. 그런 다음 sudo -E 옵션을 사용하여 기본 PATH 사용을 덮어쓸 수 있습니다. /etc/sudoers 파일에 대한 맨페이지의 설명을 참조하세요.

관련 정보