1

ターミナルからいくつかのコマンドを実行したい。コマンドを実行するためのスクリプトがあります。一部のコマンドは機能していますが、ディレクトリを変更しようとしても変更されません。そのスクリプトの実行中にエラーはありません。私が作成したスクリプトは実行可能であり、以下に言及しています:

make clean
make
cd /home/user

これをscript.shとして保存し、実行可能にします

4

1 に答える 1

5

現在の作業ディレクトリはプロセス プロパティです。各プロセスには、作業ディレクトリの独立した値があります。スクリプトは正しく機能します。スクリプトを実行するシェル プロセスの現在の作業ディレクトリを変更します。

対話型シェルで作業ディレクトリを変更したい場合は、指示する必要があります。スクリプトをインタラクティブシェルに「ソース」することでそれを行うことができます。「ソーシング」とは、スクリプトを読み取り、それをソースするシェルによってコマンドを実行することを意味します。これは、別のシェル プロセスが開始され、スクリプトの内容を実行するスクリプトの「実行」とは対照的です。

sourceまたは.コマンドを使用してスクリプトを取得できます。このような:

source script.sh

またはこれ:

. script.sh
于 2013-10-04T11:23:32.710 に答える