在 watch 中运行多个命令

在 watch 中运行多个命令

我有一个小脚本,我想不断运行它直到我Ctrl+ C。我看到了一些使用的建议watch,我见过的小例子工作得很好,但我无法让它为我工作。

这是我的脚本

echo -en "\nQueued forks: "$(( $(ls -lash /var/www/data/forked/* | wc -l) - 10 ));
echo -en "\nRunning fork processes: "$(ps -ef | awk '$8 ~ /jsfork*/ {print}' | wc -l)"\n\n";
ps auxfww;

if [ -e /var/www/data/logs/fork.log ]
then
    echo -en "\n\nErrors:\n"
    more /var/www/data/logs/fork.log
else
    echo -en "\n\nNo errors.\n\n"
fi

我见过的所有示例都是粗略的watch -n x 'do something',但由于我的脚本已包含'在其中,因此仅将其包装起来是行不通的。

watch我可以与我的脚本一起使用吗?

我不确定操作系统在这种情况下是否有很大区别,但它在 Ubuntu 12 上运行

答案1

您可以简单地将命令放入文件中,在前面添加 shebang ( #!/bin/sh),使其可执行 ( chmod +x script.sh) 并将其作为参数提供给watch

watch ./script.sh

相关内容