我有一个tail
文件的脚本同时在右上角显示时钟。我从网上拿了时钟部分,它工作正常。整个脚本是这样的(我简化了):
while sleep 1; do tput sc; tput cup 0 $(($(tput cols)-29)); date; tput rc; done &
tail -f mylog.log
一切都很好,但问题是当我停止脚本时使用CTRL+C
时钟继续在我的控制台中运行(直到我手动终止剩余的 bash 进程)。所以,当我退出脚本时有没有办法停止该过程?
我尝试了下面的代码,但它不起作用:
while sleep 1; do tput sc; tput cup 0 $(($(tput cols)-29)); date; tput rc; done &
CLOCK_PID=$!
tail -f mylog.log
kill -9 $CLOCK_PID
我搜索了如何陷入CTRL+C
bash,但我不确定这是正确的方法......
答案1
CLOCK_PID=$!
trap 'kill -9 $CLOCK_PID' EXIT
tail -f mylog.log
答案2
也许watch
会适合您的需求。默认情况下打印当前时间。就像是:
$ watch tail -n 30 /var/log/syslog