なぜsudoはPATHを変更するのですか?
これはPATHsudoなしの変数です。 $ echo 'echo $PATH' | sh /opt/local/ruby/bin:/usr/bin:/bin これはPATHsudo の変数です: $ echo 'echo $PATH' | sudo sh /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin 私の知る限り、手付かずのsudoままにすることになってPATHいます。どうしたの?どうすれば変更できますか?(これはUbuntu 8.04にあります)。 更新:私の知る限り、ルートとして開始されたスクリプトPATHはまったく変更されていません。 からman sudo: コマンドのなりすましを防ぐために、sudoは、ユーザーのPATHでコマンドを検索するときに(一方または両方がPATHにある場合)、「。」と「」(どちらも現在のディレクトリを示す)を最後にチェックします。ただし、実際のPATH環境変数は変更されず、sudoが実行するプログラムに変更されずに渡されることに注意してください。