スクリプト(ksh)を使用して現在のディレクトリを変更する

スクリプト(ksh)を使用して現在のディレクトリを変更する

echo $PWD ---> /x からスクリプトを起動します。私のスクリプトに現在のディレクトリを変更させたいと思います。だから私のスクリプトには+-が含まれています。

cd /y
exit 0

ただし、スクリプトが終了すると、まだecho $ PWD ---> / x状態になります。 /yを追加したいです。なぜ動作しないのですか?

スクリプトを起動するために必要なことは次のとおりです。[myScriptName]

答え1

これは、シェルがスクリプトを実行するために別のシェルを起動するためです。 2番目のシェルは、作業ディレクトリを変更し、ディレクトリを変更しない最初のシェルで終了します。

現在のシェルにスクリプトを実行させるには、次のように呼び出します。

. scriptname

(注意してください)。もちろん取り出す必要がありますexit 0

シェル関数を作成することもできます。望むよりksh(1)

関連情報