sudo와 경로에 대한 혼란

sudo와 경로에 대한 혼란

/usr/local/bin실행하려면 루트 액세스가 필요한 여러 프로그램이 있습니다 .

내가 달리면

sudo my_prog 

알겠어요

sudo: my_prog: command not found

나는 써야 해

sudo /usr/local/bin/my_prog 

프로그램을 정상적으로 실행시켜 보세요.

누군가 내가 왜 이 일을 해야 하는지 설명해 줄 수 있나요? /usr/local/bin뿌리 $PATH와 내 뿌리에서.

답변1

/usr/local/binroot 에 있을 수 있지만 $PATH 그렇게 하면 루트의 구성 파일 설정 위치가 sudo제공되지 않습니다.PATH

루트로 로그인하면 얻을 수 있습니다

su -

또는

sudo -i

이것은 루트 쉘을 제공합니다.

한 줄에 머물고 싶다면 다음을 사용해보십시오.

sudo su -c 'my_prog'

이것이 작동하지 않으면 -l을 사용하여 강제로 실행하십시오.

sudo su -l -c 'my_prog'

관련 정보