bash での入出力リダイレクト

bash での入出力リダイレクト

Kshでは、コマンドからのI/Oを標準出力/エラーからリダイレクトするために、次のようにします。[コマンドは出力/エラーを生成する任意のコマンドです]

command 2>filename
command 2>/dev/null

または

command &>filename
command &>/dev/null

bashでは、次のようなコードをよく見かけます。

command >&/dev/null

&同じことが使用することで達成できる場合、その追加は何を意味しますか?

command> /dev/null

何か素晴らしいことを見逃していることはわかっていますが、学べて嬉しいです。

編集: いわゆる重複した質問で尋ねられている 2>&1 が何であるかは知っていました。1 はファイル記述子を示すので、それを参照するには & が必要だと説明されました。ファイル名の前に & があるのを見て困惑しました。そこでこの質問をしました。

答え1

>&fname

と同じです

>fname 2>&1

つまりリダイレクトする両方stdout と stderr をファイル に出力しますfname。詳細な説明については、bash(1)マニュアルページの セクションREDIRECTION(特に の部分) を参照してください。Redirecting Output

関連情報