Shell 脚本在退出时关闭 iterm2
Shell script closes iterm2 on exit
我需要一些帮助:
(在 macOS 上,bash shell)
如果我 运行 一个 .sh
文件调用例如exit 1
(任何退出代码)我的终端会话结束(并且 iterm2 tab/window 关闭)。
我这样调用脚本 $ . myscript.sh
我很确定它不应该是这样的,或者之前一段时间不是这样的。
使用:
. myscript.sh
您实际上是在现有 shell 中 运行 脚本或“采购”脚本。在脚本末尾使用 exit,这意味着终端会话也将退出
或者:
./myscript.sh
或
bash myscript.sh
将 运行 脚本放在单独的 bash shell 中并阻止终端会话退出。
您可以 运行 ./myscript.sh
而不是 . myscript.sh
,这将 运行 它放在单独的 bash shell 中并且不会退出当前会话。
如果您控制了这个 .sh
文件的内容,并且您确实想要源脚本 - 只需 return 1
而不是 exit 1
,并使用适当的错误处理。
我需要一些帮助: (在 macOS 上,bash shell)
如果我 运行 一个 .sh
文件调用例如exit 1
(任何退出代码)我的终端会话结束(并且 iterm2 tab/window 关闭)。
我这样调用脚本 $ . myscript.sh
我很确定它不应该是这样的,或者之前一段时间不是这样的。
使用:
. myscript.sh
您实际上是在现有 shell 中 运行 脚本或“采购”脚本。在脚本末尾使用 exit,这意味着终端会话也将退出
或者:
./myscript.sh
或
bash myscript.sh
将 运行 脚本放在单独的 bash shell 中并阻止终端会话退出。
您可以 运行 ./myscript.sh
而不是 . myscript.sh
,这将 运行 它放在单独的 bash shell 中并且不会退出当前会话。
如果您控制了这个 .sh
文件的内容,并且您确实想要源脚本 - 只需 return 1
而不是 exit 1
,并使用适当的错误处理。