睡眠をパイプする方法?睡眠パイプラインが機能しない

睡眠をパイプする方法?睡眠パイプラインが機能しない

特定のスクリプトの実行時間をシミュレートしたいのですが、このスクリプトがsleep NUMBERまさに私が望むことをすることがわかりました。
私のシナリオでは、次のものが必要です。

sleep 5 | command | sleep 5 ...

しかし、奇妙に動作してsleepsを単独でテストしましたが、驚くほど
10秒かかりましたsleep 10 | sleep 5
これも10秒かかる sleep 5 | sleep 10

sleep 1 | sleep睡眠が標準入力を聞いている場合に備えて私はこれを試みました。

それが私に役立つ唯一の時間は、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秒待ってからこんにちはをエコーし​​、5秒待ってから終了します。

私たちの多くは、なぜ睡眠の出力がパイプにつながるのかについて混乱していると思います(実際には意味のある出力はありません)。正直に言えば、可能であっても眠りたいという考えは一度もやったことがありません。

;コマンドを直列に実行するための構文です。

関連情報