【问题标题】:Shell script closes iterm2 on exitShell 脚本在退出时关闭 iterm2
【发布时间】:2021-08-13 18:43:51
【问题描述】:

我需要一些帮助: (在 macOS 上,bash shell)

如果我运行 .sh 文件,它调用例如exit 1(任何退出代码)我的终端会话结束(并且 iterm2 选项卡/窗口关闭)。 我这样调用脚本$ . myscript.sh

我很确定它不应该是这样的,或者之前不是这样的。

【问题讨论】:

标签: bash macos shell sh iterm2


【解决方案1】:

使用:

. myscript.sh

您实际上是在现有 shell 中运行脚本或“采购”脚本。在脚本末尾退出,这意味着终端会话也将退出

或者:

./myscript.sh

bash myscript.sh

将在单独的 bash shell 中运行脚本并阻止终端会话退出。

【讨论】:

  • ./myscript.sh 告诉我找不到命令
  • 我需要授予权限 ;)
【解决方案2】:

您可以运行 ./myscript.sh 而不是 . myscript.sh,这将在单独的 bash shell 中运行它并且不会退出当前会话。

如果您控制此 .sh 文件的内容,并且您确实想要获取脚本 - 只需 return 1 而不是 exit 1,并使用适当的错误处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    相关资源
    最近更新 更多