Bash 命令文件(双击时)不';如果没有插入此代码,则无法工作…为什么?
当我双击.command文件时,它会读取每一行,直到点击Bash 命令文件(双击时)不';如果没有插入此代码,则无法工作…为什么?,bash,macos,exec,nohup,Bash,Macos,Exec,Nohup,当我双击.command文件时,它会读取每一行,直到点击nohup命令,该命令在后台运行时终止应用程序(Terminal) 现在,当在脚本顶部输入下面的命令时,整个脚本都工作了。究竟为什么会发生这种情况 exec 3>&1 4>&2 trap 'exec 2>&4 1>&3' 0 1 2 3 exec 1>/Users/$username/Desktop/log.out 2>&1 显然,当我在脚本中运行此命令时: no
nohup
命令,该命令在后台运行时终止应用程序(Terminal)
现在,当在脚本顶部输入下面的命令时,整个脚本都工作了。究竟为什么会发生这种情况
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>/Users/$username/Desktop/log.out 2>&1
显然,当我在脚本中运行此命令时:
nohup osascript -e 'tell application "Terminal" to do script "'"$DIR"'"' & pkill -f -a Terminal
使用pkill终止应用程序会给整个脚本带来问题。因此,中断SIGHUP
信号。我的解决方案如下
trap '' 1 # this blocks sighup so we don't die when terminal is closed
感谢来自巴什频道的伊扎贝拉