如何在bash中通过ctrl + c停止终止脚本?

时间:2018-06-13 12:42:12

标签: linux bash shell

如何在Bourne Again shell(Bash)中停止Ctrl + C终止脚本?我可以做什么,以便在按下Ctrl + C时bash脚本不会停止?

2 个答案:

答案 0 :(得分:3)

Ctrl + C INT(“中断”)信号发送到shell的前台进程。此信号可以忽略。

示例脚本:

#!/bin/bash

trap '' INT   # ignore INT
sleep 100

脚本可能仍会被例如中断TERM信号(以及其他一些信号),即kill默认发送的信号。在交互式bash会话中,您还可以使用 Ctrl + Z 暂停该过程,然后使用kill %+将其终止(%+对应于“当前作业”如果你刚刚暂停它将是脚本)。您可以忽略TERM信号,方法与忽略INT信号的方式相同。

如果您只想忽略脚本部分的INT信号,可以稍后使用

恢复默认行为
trap - INT

答案 1 :(得分:0)