サブシェルから親シェルのディレクトリを変更するために使用できるメカニズムがあるのでしょうか?たとえば、私はスクリプト$ "settings.sh"を$ HOMEに実行しています。 My $ HOMEには$ HOME/TEST /ディレクトリがあります。私「settings.sh」スクリプトは親シェルのディレクトリを変更する
#!/bin/bash
# some shell related code
# some shell related code
cd $HOME/TEST/run
exit 0
以下のようであるならば、私は$ HOMEで、コマンドプロンプトで上記のスクリプトを実行します。実行後、ディレクトリ$ HOME/TEST /にコマンドプロンプトが表示されます。私はサブシェルで$ HOME/TEST/runにcdされているが、実行の終わりには$ HOMEに戻っていることを理解している。
単一のスクリプトを使用して上記を実行する上品な方法はありますか。 一つの方法は、別のスクリプトを生成し、を使用するスクリプト「settings.sh」を修正することである「$ HOME/generatedScript.sh」
私は答えた前に、私はあなたの質問の下の部分を見逃している必要があります。なぜあなたは別のスクリプトを "生成"する必要がありますか? settings.shスクリプトに必要なものを入れてそれを調達するのは間違っていますか? – jordanm
スクリプトの本文は、スクリプト "settings.sh"に対してのみ必要な特定のアプリケーションを実行するための$ PATHを変更します。親シェルで$ PATHが影響を受けるのは嫌です。 – Mike