我正在从 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)
。