1

Ubuntu 10.04.4 LTS

stackoverflow を含むさまざまなサイトで、sudo と PATH に関する投稿を見てきました。これは違うと思うので、重複していないと確信しています(しかし、よくわかりません)。

1) まず、sudo 以外の ruby​​ へのパス:

$ which ruby
/usr/local/ruby/bin/ruby

2) そして、ruby への sudo パス:

$ sudo which ruby
/usr/bin/ruby

わかりました、これまでのところとても良いです。sudo を使用すると、パスが変更されました。

3)しかし、ここに私が得られない部分があります:

$ sudo echo $PATH
/home/cm6/bin:/usr/local/ruby/bin:/usr/local/ruby/bin:/usr/local/sbin:<snipped>

つまり、ruby へのパスは、sudo を使用するときに設定される $PATH 変数にあります。

4) そしてまた少し見知らぬ人:

$ echo $PATH
/home/cm6/bin:/usr/local/ruby/bin:/usr/local/ruby/bin:/usr/local/sbin:<snipped>

今回はsudoはありませんが、$PATH変数の内容はsudoと同じです。

$PATH 変数が sudo の有無にかかわらず同じであるとすると、なぜ「どのルビー」が私に異なる答えを与えたのですか? $PATH 変数が sudo の下で実際の PATH を保持していないかのようです。

最後に、私の質問: sudo で使用される実際の/正確な/正しい PATH を取得するにはどうすればよいですか?

ありがとう、

ジョン

4

1 に答える 1