我想模拟某些脚本的执行时间,我发现这些脚本sleep NUMBER
正是我想要的。
在我的场景中我需要类似的东西
sleep 5 | command | sleep 5 ...
但它的行为很奇怪,所以我单独测试了sleep
s,令我惊讶的是
这需要 10 秒sleep 10 | sleep 5
并且这也需要 10 秒 sleep 5 | sleep 10
我什至尝试过sleep 1 | sleep
,以防睡眠正在监听标准输入 stdin
我唯一工作的是当我在寻找如何强制 stdout 作为参数时(使用xargs
)
sleep 3; echo 3 | xargs sleep; echo "finished"
但由于我需要计算整个执行的时间,所以我必须这样做
time -p (sleep 3; echo 3) | (xargs sleep; echo "finished")
锄头管睡觉?如果有更好的方法,我仍然想知道为什么sleep 1 | sleep 1
不首先工作?
答案1
我想你想和;
而不是分开|
sleep 10; echo hi; sleep 5
这将等待 10 秒,echo hi,等待 5 秒,然后退出。
我认为我们很多人都感到困惑为什么要通过管道传输 sleep 的输出(它实际上没有有意义的输出)。说实话,虽然有可能,但我从来没有想过要睡觉。
;
是串行运行命令的语法。