我正在运行此循环以每秒检查和打印一些内容。但是,由于计算可能要花费几百毫秒,因此打印时间有时会跳过一秒钟。
有什么办法可以写出这样一个循环,以确保我每秒都能得到一个打印输出?(当然,提供循环中的计算时间不到一秒钟:)
while true; do
TIME=$(date +%H:%M:%S)
# some calculations which take a few hundred milliseconds
FOO=...
BAR=...
printf '%s %s %s\n' $TIME $FOO $BAR
sleep 1
done