실행하면 sudo which abc
수퍼유저 $PATH에서 "abc" 프로그램을 검색할 것으로 예상되지만 하위 집합만 검색하는 것처럼 보입니다.
sudo echo $PATH
검색된 경로를 실행하고 비교하면 이를 알 수 있습니다 .
$ sudo which abc
which: no abc in (/sbin:/bin:/usr/sbin:/usr/bin)
$ sudo echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin
여기서 무슨 일이 일어나고 있는 걸까요?
답변1
$PATH
sudo
실행하기 전에 확장하세요. 따라서 당신이 보는 것은 당신 PATH
이 sudo하는 사용자의 가치가 아니라 당신의 가치입니다.
이 시도:
$ sudo bash -c 'echo $PATH'