如果在命令行下使用vim,先按下ESC退出编辑模式,然后输入:wq 保存并退出或者q退出或者q!强制退出,从而回到命令行界面。
使用trap和kill退出整个脚本cat >test.sh<<EOF''
#!/bin/bash
export TOP_PID=$$
trap 'exit 1' TERM
exit_script(){
kill -s TERM $TOP_PID
}
echo "before exit"
:|exit_script
echo "after exit"
EOF
chmod a+x test.sh
./test.sh
echo $?
# 输出
before exit
1
这里首先在脚本的主进程中捕获(trap) TERM信号: 当主进程接收到TERM信号后,会执行exit 1;再在Sub-Shell中向脚本主进程发送TERM信号,这样就可以让整个脚本退出了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)