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