使用 watch run 2 命令

使用 watch run 2 命令

我必须在同一个终端窗口中监视两个命令。我的意思是

watch du -h filename.txt && df -h

但它只显示一个输出。

所以我在想可能无法使用 watch 在同一个窗口上运行多个命令。

如果有任何办法,请告诉我。

谢谢。

答案1

您可以引用以下命令:

watch "du -h filename.txt && df -h"

他们将一起被处决。

答案2

如果您想确保两个命令都执行,其中一种方法是用;而不是 来分隔它们&&

watch 'du -h filename.txt; df -h'

&&&&仅当第一个命令执行成功(退出状态)时才允许执行第二个命令(第二个操作数,位于 的右侧) 0。如果这是预期行为,请使用&&

答案3

为了完整起见......

 watch 'du -h filename.txt || true && df -h'

'|| true' 部分使第一个命令即使因某种原因失败也会被评估为 true。这将允许 && 之后的下一个命令执行,无论第一个命令的输出如何。这对于该场景来说很可能是不必要的,只是表明它是可能的。

答案4

要同时运行多个命令,请&在命令之间使用单个运算符。例如:

dothis & dothat

为了消除任何困惑,以下是不同运算符的工作方式:

c1 & c2  # Run both commands parallelly
c1 ; c2  # Run both commands one by one
c1 && c2 # Run c2 only if c1 exits successfully
c1 || c2 # Run c2 only if c1 fails

相关内容