回答:
もしあなたがそうするなら
cmd 1 | cmd 2 …その後、 多かれ少なかれ同時に実行します。マルチCPUシステムを使用している場合、実際に同時に実行される場合があります。ただし、いずれにしても、それらは同時に実行され、正確なスケジューリングは予測が複雑すぎる要因によって決定されます。
cmd1
cmd2
あなたは
あなたです。したがって、ファイルが作成される前に実行が開始される場合があります。cmd1
gzip -cN "$1" > "$1.gz"
cmd2
ls -l "$1.gz"
ls
gzip
"$1.gz"
ls
は標準入力から読み取らないため、パイプでパイプしても意味がありません。あなたはおそらくやりたい
gzip -cN "$ 1"> "$ 1.gz" && ls -l "$ 1.gz" | awk '{print $ 5}'つまり、を実行し
gzip
、成功した場合はを実行しls -l
ます。