我有一个相当简单的脚本(在向每一行添加时间戳后从 tty 打印内容)。它在命令行上输出很好,但重定向输出>不起作用。为什么不?
这是脚本:
#!/bin/bash
awk '{ print strftime("%Y-%m-%d %H:%M:%S |"), $0; }' "$1"
Run Code Online (Sandbox Code Playgroud)
按原样运行它,就像timecat /dev/ttyACM0工作正常一样,我在终端中看到了内容。
但如果我跑timecat /dev/ttyACM0 > ~/tmp.log,什么都没有出来。与tee. 文件在那里,但它是空的。
awk脚本中有什么奇怪的东西,我该如何修改它以使重定向工作?
所有这些都需要在命令中刷新打印,用这个替换最后一个脚本行:
awk '{ print strftime("%Y-%m-%d %H:%M:%S |"), $0; fflush(); }' $tty
^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |