- - PR -
UNIXコマンドの「cd」
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-02 21:03
こんにちは、いつもお世話になっております。
ご質問させ頂きます。 Cシェル(csh)上に、/usr/bin/cdと書くと、チェンジディレクトリがうまくいかず、普通にcd〜〜と書くと正しくチェンジディレクトリされます。 他のコマンドは、/usr/bin/〜〜で正しく実行されるのですが、cdコマンドのみうまくいきません。 /usr/bin配下にはcdはあります。 説明が下手で、申し訳ないですが、どなたか原因がわかる方、ご指摘いただけませんでしょうか?宜しくお願い致します。 |
|
投稿日時: 2006-08-02 22:16
なぜ、投稿先が「Windows Server Insider 会議室」なんでしょうか?
通常(?)cdはシェルのビルトインコマンドです。 詳しくは"man csh"。 しかし、なぜ/usr/binにcdがあるのか気になります。 まさかトロイの木馬では・・・ |
|
投稿日時: 2006-08-02 22:22
「カレントディレクトリ」はプロセス毎に管理されています。
・cshが、/usr/bin/cdを子プロセスとして起動する。 ・起動された子プロセスは、自分のカレントディレクトリを変更して、終了する。 ・元のcshのカレントディレクトリは変わらない。 という動きになります。 shellのカレントディレクトリを変更したいのなら、組み込みコマンドを使わないとダメです。 # にもかかわらず外部コマンドのcdを持っているUnixがあるのは何故だろう? # joke ? |
1