如何解决Shell 脚本在退出时关闭 iterm2
我需要一些帮助: (在 macos 上,bash shell)
如果我运行一个 .sh
文件,该文件调用例如exit 1
(任何退出代码)我的终端会话结束(并且 iterm2 选项卡/窗口关闭)。
我正在像这样调用脚本 $ . myscript.sh
我很确定它不应该是那样的,或者之前不应该是这样的。
解决方法
使用:
. myscript.sh
您实际上是在现有 shell 中运行脚本或“采购”脚本。脚本结束时退出,这意味着终端会话也将退出
或者:
./myscript.sh
或
bash myscript.sh
将在单独的 bash shell 中运行脚本并阻止终端会话退出。
,您可以运行 . myscript.sh
而不是 ./myscript.sh
,它将在单独的 bash shell 中运行它并且不会退出当前会话。
如果您控制此 .sh
文件的内容,并且确实希望获取脚本的来源 - 只需使用 return 1
代替 exit 1
,并使用适当的错误处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。