如何每N秒重复运行bash脚本?

obo*_*vyk 18 linux bash

我有一些bash脚本,有一些统计信息,如磁盘信息,内存使用等等.但它只在脚本运行和关闭后显示一次信息.我可以重复运行此脚本(例如"htop")或类似的东西吗?我想在5-10秒后更新此信息.谢谢!

Tom*_*ech 26

在linux中,您可以使用该watch程序重复操作.假设这script.sh是可执行的:

watch -n 10 path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

会每10秒运行一次.

要使脚本可执行,您可以使用chmod +x script.sh.别忘了添加shebang

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

到第一行(假设它是一个bash脚本).

如果您从当前目录运行脚本,则可以执行以下操作:

watch -n 10 ./script.sh
Run Code Online (Sandbox Code Playgroud)


Jen*_*ens 24

我的评论略有改进:如果您的脚本以true退出(例如,当它结束时exit 0),您可以运行

while script; do sleep 10; done
Run Code Online (Sandbox Code Playgroud)

这是重复命令的规范方法,只要它不会失败.

  • 我的变体看起来像这样:`while true; do`*代码在这里...*`sleep 10`` done`它运作良好! (2认同)