我想使用 tail 命令观看并继续我的脚本。当我按下“Ctrl+C”键时,我不想停止整个脚本。有什么好的方法吗?
#!/bin/sh
tail -f ./a.txt
echo "I want to print this line after tailing"
你可以尝试这样的事情:
#!/bin/sh
trap ctrl_c INT
function ctrl_c() {
echo "You slay me!"
}
tail -f ./a.txt
echo "I want to print this line after tailing"
如果您想在tail -f
完成或稍后恢复默认的 Ctrl-C 行为,您可以执行以下操作:
trap - INT
或者您可以通过声明一个新的陷阱函数来“自定义”中断:
#!/bin/sh
trap ctrl_c INT
function ctrl_c() {
echo "You slay me!"
}
function my_default_ctrl_c() {
echo "You just interrupted me!"
exit 1
}
tail -f ./a.txt
echo "I want to print this line after tailing"
trap my_default_ctrl_c INT
在这里,键盘上的后续 Ctrl-C 将中断脚本并给出自定义消息,“你刚刚打断了我!”。