私はこのようになりますAIXのkshの中で実行するスクリプトを持っている:出力リダイレクトを使用すると、ファイルはいつ作成されますか?
wc dir1/* dir2/* | {awk command to rearrange output} | {grep command to filter more} > dir2/output.txt
それはDIR2/output.txtとが存在しないこの行に前提条件です。
問題は、dir2/output.txt自体が出力に含まれていることです(問題なく何百回も起こったことがあります)。 dir1とdir2はNFSマウントされています。
wc
の実装に関連していますか?最初のパラメータに時間がかかる場合はどうなりますか?
wc `sleep 5` *.txt > out.txt
さえ自体は表示されませんout.txtをこのケースでは:私は、私は次のことを試してみたとして、ではないと思います。
最後の注意として、実際のスクリプトで使用されるこの例では、ワイルドカードが使用されています。展開が最初に行われた場合、なぜこの問題が発生するのですか?
実際に作成されるのはどの時点でdir2/output.txtですか?
私はいつも、サブプロセスが入力を待っていると、出力を作成できないと考えていました。 これは私が持っていた間違った前提をたくさん消してしまったと思います。 – Stephen