osx shell 在使用后终止

osx*_*ell 1 bash command-line shell-script macos

我有一个更改目录然后运行的 shell 脚本。我希望一旦脚本终止,目录更改就会冒泡到命令提示符。

所以,我运行它:

. script
Run Code Online (Sandbox Code Playgroud)

但是,现在当脚本终止时,整个窗口都会终止。有没有办法来解决这个问题?

我的外壳是 bash。

Ric*_*lka 5

是否script包含exit声明?请记住,点(采购)在当前 shell 中运行您的代码。因此,如果它有exit,则您当前的 shell 将退出。您可能想要检查脚本并将任何更改exitreturn.

您可能能够检测到来源(您想要做的地方return)和正在运行(您可能想要的地方exit

[[ $BASH_SOURCE != $0 ]] && echo 'running sourced ...'
Run Code Online (Sandbox Code Playgroud)