$HOME을 변경하지 않고 "sudo bash -s --"를 사용하시겠습니까?

$HOME을 변경하지 않고 "sudo bash -s --"를 사용하시겠습니까?

sudo다음과 같은 명령을 사용하여 인터넷에서 신뢰할 수 있는 스크립트를 실행 하고 싶습니다 .

sudo curl https://example.org/my-trusted-example.script.sh | sudo bash -s --

스크립트는 이 $HOME변수를 사용하고 있습니다. Debian에서 이 변수 /root/home/user.

루트 사용자 디렉터리 대신 홈 사용자 디렉터리를 사용하도록 만드는 방법은 무엇입니까?

답변1

sudo당신은 물어볼 수 있습니다지정된 환경 변수 유지:

% sudo printenv HOME
/root
% sudo --preserve-env=HOME printenv HOME
/home/muru

HOME직접 설정할 수도 있습니다 .

curl https://example.org/my-trusted-example.script.sh | sudo HOME="$HOME" bash -s --
curl https://example.org/my-trusted-example.script.sh | sudo env HOME="$HOME" bash -s --

그러나 스크립트를 루트로 실행하므로 홈 디렉터리에 있는 파일의 소유권이 엉망이 될 수 있습니다.


( curl필요하지 않아야 합니다 sudo.)

관련 정보