如何使用 watch 命令运行 bash 脚本并监视输出文件?

如何使用 watch 命令运行 bash 脚本并监视输出文件?

所以我有一个 bash 脚本“example.sh”,它将写入输出文件,例如“tmp_output.txt”。 (如果数据已存在,它将清空文件并重写)

如何使用 watch 命令使其每两秒运行一次“example.sh”并查看“tmp_output.txt”中所做的更改?

watch 命令需要在 bash 脚本中使用。

答案1

watch默认情况下通过 shell 运行命令,因此如果example.sh无条件写入文件,您可以让它运行脚本,然后运行cat输出文件:

watch 'example.sh; cat tmp_output.txt'

但当然,通常让脚本打印到标准输出可能更灵活,因此您可以直接查看输出或根据需要将其重定向到文件。

watch 命令需要在 bash 脚本中使用。

我不太确定你的意思。watch考虑到它无限期地运行并在每次执行期间清除屏幕等,它并不真正适合非交互式使用。此外,watch从脚本本身运行脚本有点循环。

当然,您可以在脚本中执行类似的操作:

while true; do 
    # do some work
    # write to tmp_output.txt etc.                      
    cat tmp_output.txt             # display it
    sleep 2                        # sleep and repeat
done

相关内容