gpt4 book ai didi

bash - 如何在 bash 中创建秒表?

转载 作者:行者123 更新时间:2023-11-29 09:01:35 29 4
gpt4 key购买 nike

我创建了一个简单的秒表(bash 函数)来计算时间,但现在它以毫秒显示当前时间。

代码:

function stopwatch() {
date +%H:%M:%S:%N
while true; do echo -ne "`date +%H:%M:%S:%N`\r"; done;
}

我尝试按照 this answer 中的说明更改它, 但它仅适用于自 Unix Epoch 以来的第二个。

当我使用 date 格式 +%s.%N 时,上述答案的减法停止工作,因为 bash 减法只需要整数。

我该如何解决它并拥有一个像这样打印时间的终端秒表:

0.000000000
0.123123123
0.435345345
(and so on..)

?

最佳答案

一种可以工作一天的可能(& hacky)机制:

$ now=$(date +%s)sec
$ while true; do
printf "%s\r" $(TZ=UTC date --date now-$now +%H:%M:%S.%N)
sleep 0.1
done

奖励:您可以随时按 enter 键获取 LAP 时间。 ;-)

注意:这是一个快速修复。应该有更好的解决方案......

watch 基于变体(相同逻辑):

$ now=$(date +%s)sec; watch -n0.1 -p TZ=UTC date --date now-$now +%H:%M:%S.%N

关于bash - 如何在 bash 中创建秒表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986523/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com