GNU/Linux >> Linux の 問題 >  >> Linux

すべての出力を Bash のファイルにリダイレクトします

すべての POSIX オペレーティング システムには、stdin、stdout、および stderr の 3 つのストリームがあります。 stdin は、stdout または stderr を受け入れることができる入力です。 stdout はプライマリ出力で、> でリダイレクトされます 、 >> 、または | . stderr はエラー出力であり、例外がコマンドに渡されたりファイルに書き込まれて壊れたりしないように、個別に処理されます。通常、これは何らかのログに送信されるか、stdout がリダイレクトされた場合でも直接ダンプされます。両方を同じ場所にリダイレクトするには、次を使用します:

$command &> /some/file

編集 :上記のソリューションは移植性がないことを指摘してくれた Zack に感謝します。代わりに使用してください:

$command > file 2>&1 

エラーを黙らせたい場合は、次のようにします:

$command 2> /dev/null

その部分は stderr に書き込まれます。2> を使用してください リダイレクトします。例:

foo > stdout.txt 2> stderr.txt

または、同じファイルに入れたい場合:

foo > allout.txt 2>&1

注:これは (ba)sh で機能します。シェルの構文が適切かどうかを確認してください


Linux
  1. Linuxで出力をファイルとStdoutにリダイレクトする方法

  2. プログラムの出力をZipファイルにリダイレクトする方法は??

  3. リダイレクトとパイプ出力?

  1. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  2. system() の出力をファイルにリダイレクトする方法は?

  3. 出力が stdout か stderr かを判別する

  1. 「.bashrc」と同等のファイルがすべてのシェルによって読み取られますか?

  2. プログラムの出力をリダイレクトし、それでもStdoutに送信する方法はありますか?

  3. ファイルの内容をStdoutに出力するコマンド?