전체 $PATH를 검색하지 않습니다.

전체 $PATH를 검색하지 않습니다.

실행하면 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

$PATHsudo실행하기 전에 확장하세요. 따라서 당신이 보는 것은 당신 PATH이 sudo하는 사용자의 가치가 아니라 당신의 가치입니다.

이 시도:

$ sudo bash -c 'echo $PATH'

관련 정보