【发布时间】:2016-05-20 13:19:25
【问题描述】:
我得到了一个小秒表,我用以下代码将它放入 bashrc:
stopwatch() {
date1=`date +%s`
echo $1
while true; do
echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r"
done
}
输出看起来像这样,而时间只会在第二行计数:
~$ stopwatch test
test
00:00:04
现在,如果我想结束秒表,请按 Ctrl+C,这给了我:
~$ stopwatch test
test
^C:00:03
我想在包含其输出的同时结束循环,例如使用我的输入键或任何其他。 但是,如果我使用 read 它会等待我的输入并保持计时器。
如何保持循环运行直到我按下任何键仍然保留输出?
编辑:当我在它的时候.. 是否可以在退出前将最后一个输出写入文件?
【问题讨论】:
标签: bash loops input while-loop break