使用脚本更改当前目录 (ksh)

使用脚本更改当前目录 (ksh)

我正在从 echo $PWD ---> /x 启动我的脚本。我希望我的脚本更改当前目录。所以我的脚本包含 +- 这个:

cd /y
exit 0

然而,当我的脚本结束时,我仍然处于 echo $PWD ---> /x 状态。我想加入/y。为什么不起作用?

我只需执行以下操作即可启动我的脚本:[myScriptName]

答案1

这是因为您的 shell 启动了另一个 shell 来运行您的脚本。第二个 shell 更改其工作目录,然后退出到第一个 shell,而第一个 shell 从未更改其目录。

要使当前的 shell 运行该脚本,请这样调用:

. scriptname

(注意点)。当然,你必须把它拿出来exit 0

您还可以编写 shell 函数。看ksh(1)

相关内容