$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。)

関連情報