Rubyを使用しています。

sudoしたら$:の中身が変わってしまいます。
何故なのか教えて下さい。

Macintosh:~ user$ ruby -e 'p $:'
["/opt/local/lib/ruby/gems/gems/sources-0.0.1/lib", "/opt/local/lib/ruby/site_ruby/1.8", "/opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.1.0", "/opt/local/lib/ruby/site_ruby", "/opt/local/lib/ruby/vendor_ruby/1.8", "/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.1.0", "/opt/local/lib/ruby/vendor_ruby", "/opt/local/lib/ruby/1.8", "/opt/local/lib/ruby/1.8/i686-darwin9.1.0", "."]
Macintosh:~ user$ sudo ruby -e 'p $:'
["/opt/local/lib/ruby/site_ruby/1.8", "/opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.1.0", "/opt/local/lib/ruby/site_ruby", "/opt/local/lib/ruby/vendor_ruby/1.8", "/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.1.0", "/opt/local/lib/ruby/vendor_ruby", "/opt/local/lib/ruby/1.8", "/opt/local/lib/ruby/1.8/i686-darwin9.1.0", "."]
Macintosh:~ user$ echo $RUBYLIB
/opt/local/lib/ruby/gems/gems/sources-0.0.1/lib
Macintosh:~ user$ sudo echo $RUBYLIB
/opt/local/lib/ruby/gems/gems/sources-0.0.1/lib

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/11 01:47:10
  • 終了:2008/01/11 02:30:55

回答(1件)

id:znz No.1

znz回答回数193ベストアンサー獲得回数252008/01/11 02:16:46

ポイント60pt

sudoでRUBYLIB環境変数が渡っていないからだと思います。

最後の「sudo echo $RUBYLIB」はechoだけsudoで実行されていて、$RUBYLIBの変数展開は元のユーザのシェルで実行されています。

「sudo env」や「sudo sh -c 'echo $RUBYLIB'」などで確認してみてください。


URLが必須のようなので似たような話のURLを書いておきます。

http://bbs.fedora.jp/read.php?FID=8&TID=6328

id:akio0911

なるほど、理解できました。

ありがとうございました。

2008/01/11 02:30:50

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • sudo env sudoでRUBYLIB環境変数が渡っていないからだと思います。 最後の「sudo echo $RUBYLIB」はechoだけsudoで実行されていて、$RUBYLIBの変数展開は元のユーザのシェルで実行されています。 「sudo e
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません