我想使用tail命令來觀察並繼續我的腳本。 當我按下「Ctrl + C」鍵時,我不想停止整個腳本。 有什麼好方法嗎?如何在沒有完成shell腳本的情況下使用tail -f?
#!/bin/sh
tail -f ./a.txt
echo "I want to print this line after tailing"
我想使用tail命令來觀察並繼續我的腳本。 當我按下「Ctrl + C」鍵時,我不想停止整個腳本。 有什麼好方法嗎?如何在沒有完成shell腳本的情況下使用tail -f?
#!/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"
在您要還原到默認爲Ctrl-C行爲tail -f
完成後或更高一點,你可以這樣做:
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會中斷腳本並給出一個自定義消息「您剛打斷了我!」。
這不是一個編程問題 - 它屬於superuser.com –
@GeorgeJempty所以SO經常對現場shell編程提出疑問。 Superuser.com會偏向於系統管理和操作問題等。雖然有時可能會有細線。 – lurker