ホームブリッジシェルでCDコマンドが機能しないのはなぜですか? [コピー]

ホームブリッジシェルでCDコマンドが機能しないのはなぜですか? [コピー]

私はCで非常に基本的なシェルを書いた。入力を読み取り、それを実行しますsystem(lineCopy);(lineCopyは入力のコピーです)。を除くすべてのコマンドが正常に実行されます。別のディレクトリにアクセスcdしようとすると、現在のディレクトリにそのまま残ります。存在しないディレクトリにアクセスcdしようとすると、 just like it should というメッセージが表示されます。しかし、存在するディレクトリで cd を試みると、コマンドは読み込まれますが、同じディレクトリに残ります。現在、PWDを保存する変数は常に更新されるため、これはできません。他のすべてのコマンドは完全に実行されます。しかし、なぜできませんか?cdsh: 1: cd: can't cd to /some_nonexistant_directorycd

ベストアンサー1

環境変数を変更してみましたが、うまくいきませんでした。システムは環境と現在の作業ディレクトリを継承します。したがって、各システムコールは親システムから現在の作業ディレクトリを継承します。

おすすめ記事