![sudo [duplicate]를 사용하여 PATH에 추가된 폴더를 찾을 수 없습니다.](https://rvso.com/image/1037975/sudo%20%5Bduplicate%5D%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20PATH%EC%97%90%20%EC%B6%94%EA%B0%80%EB%90%9C%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
가능한 중복:
'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 파일에 대한 맨페이지의 설명을 참조하세요.