bash:ファイルを出力した直後に次のコマンドの入力として使用するのは安全ですか?

bash:ファイルを出力した直後に次のコマンドの入力として使用するのは安全ですか?

ファイルに出力すると

somecommand > somefile

これをsomefile次の行のコマンドの入力パラメータとして渡すことはできますか?常にファイルが完全に作成された後にのみ実行されますか?それとも、これが安全であることを確認するために何かをすべきですか?

ベストアンサー1

はい、前のコマンドが終了した場合は、次のコマンドで使用しても安全です。コマンドを順番に使用し、すべてが前景で実行されている場合(特にそうしない限り)、システムは残りの部分を処理すると信頼できます。ファイルが実際にディスクに書き込まれておらず、まだキャッシュにある場合でも、オペレーティングシステムはこの状況を透過的に処理します。

注:場合によっては、ファイルを中間結果の場所として使用することなく、より良い結果を得ることができます。プログラム出力の唯一の用途が次のプログラムを提供することであれば、パイプを使用できます。

dmesg | grep eth0 | less

おすすめ記事