我怎样才能每次都强制重新评估呢?
cat > $(date '+%H-%M-%S').log
这样,当我第一次输出某些内容时,它会被写入一个文件,几秒钟后我会进行另一个输出,并将其保存在一个新文件中。
cat
只是象征着一个始终运行的程序
答案1
我cat
用每秒发出一行的 for 循环替换:
for ch in {a..e} ; do echo $ch ; sleep 1 ; done | \
while IFS= read -r line ; do printf '%s\n' "$line" >> $(date +%H-%M-%S) ; done
我用的>>
是>
if 一秒钟内有多于一行。您可能需要添加月份+日期,以免混合不同日期的输出。