$ command 1>&2
効果は何ですか?私が理解しているところによると、これは実行されますがcommand
。STDOUT
にリダイレクトされますSTDERR
。しかし、それがどのように機能するのか正確にはわかりません>&
。
$ command 1>&2
私はそれを来ると思います$ command 2>&1
。
私は1
それぞれが と のファイル記述子であると仮定します2
が、それが何を意味するのかさえわかりません。STDOUT
STDERR
私はSOや他のリソースから>&
何らかのリダイレクト「モノ(オペレータ??)」を見つけましたが、それが正確にどのように機能するのかわかりません。バイナリ演算子ですか?それも通信会社ですか?
誰かがこれを説明できますか?初心者これが実行するアクションの用語です。
ベストアンサー1
1
この構文では、STDOUTとSTDERRが正しいです2
。その役割は「AをBのある所に送ること」です。したがって、を作成してSTDERRをインポートしてSTDOUTに送信すること2>&1
もできます。2 > &1
元のSTDOUTである必要はありません。実際は一つの単位ではなく>&
、しばしばそのように一緒に作成されます。これが>
「リダイレクト」演算子です。
面白い部分は注文です。たとえば、次のようになります。
$ command 2>&1 > file.out
とは違う
$ command > file.out 2>&1
1 つ目は STDERR を STDOUT に送り、STDOUT を "file.out" に送るので、STDERR と STDOUT を同じ場所に取得します。 2つ目はSTDOUTを「file.out」に送信し、STDERRをSTDOUTに送信するため、最終的にはファイルではなく端末ウィンドウにSTDERRが表示されます。