【初心者専用】 Ubuntu Linux 32
■ このスレッドは過去ログ倉庫に格納されています
0402login:Penguin
2008/12/21(日) 01:52:46ID:C5j9W3X/sudoはroot権限で実行ファイルを起動する。ところがcdというのは/binや/usr/binを見てみるとわかるとおり、
一つの実行ファイルとして存在しない。これはwhich cdで確認できる。
ではどこにあるのかといえばシェルに組み込まれている、というのはそのリンク先に書いてあることだな。
このようなコマンドはcdだけではなく、(bashなら)helpコマンドで表示されるものほとんどがそう。他にはpushdとか。
なぜcdが組み込まれているのかと言えば、作業ディレクトリはそれぞれのプロセスが別個に持つ値であるから、
シェルそのもののプロセスに作用する必要があるためだな。
Binary Hacksに外部コマンドから作業ディレクトリを変える方法も載ってたりするのだけれど、トリッキーな方法になる。
■ このスレッドは過去ログ倉庫に格納されています