使用后 osx shell 终止

使用后 osx shell 终止

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

因此,我用以下方法运行它:

. script

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

我的shell是bash。

答案1

在 Mac 中有两种方法可以解决这个问题

A> 进入终端的首选项,选择[常规],然后取消选中“如果 shell 正常退出则关闭窗口”复选框。

B> 将你最喜欢的文本编辑器指向 ~/Library/Preferences/com.apple.Terminal.plist

查找行:

<键> ShellExitAction</键>
<整数>1</整数>

将 1 更改为 2 并重新启动终端应用程序。

B 基本与 A 相同,但是手动完成。

答案2

是否script包含exit语句?请记住,点(source)在当前 shell 中运行您的代码。因此,如果它包含exit,则您的当前 shell 将退出。您可能需要检查脚本并将任何内容更改exitreturn

您可能能够检测到来源(您想要执行的位置return)和运行(您可能想要的位置exit

[[ $BASH_SOURCE != $0 ]] && echo 'running sourced ...'

相关内容