2>&1リダイレクトの構文をどのように覚えていますか?

2>&1リダイレクトの構文をどのように覚えていますか?

ニーモニックフレーズやシステムはありますか?この問題は何年も私を悩ませており、いつも見つけなければなりませんでした。

答え1

Cプログラマならこれを&1「1のアドレス」と考えることができるので、2>&1「ファイル記述子#2を#1と同じ場所にリダイレクトする」を読んでください。

答え2

「2対1」(「存在」>)は、「2プラス1」よりも私にとってより論理的なようです。私は通常「2プラス1」と混同します。 「and one」を単一名詞(場所)と考えると、文脈上文法的にも理解できますが、「Two and to one」は使いにくいです。 「to one」をAと考えなければなりません。単一名詞ですが、まだ文脈上の意味はありません。

答え3

ニーモニックではありませんが、次のように読みました。

0標準入力です。 1標準出力です。 2標準エラーです。 >入場です。 <出ました。 &ファイル記述子です(一部のシェルでは)。

2>&1
2      >    &               1
stderr into file descriptor 1

redirect stderr into stdout

リダイレクトする前にファイルディスクリプタをめちゃくちゃにすると、変更されることがあります。

2>somefile 1>&2
2      >    somefile     1      >    &2
stderr into somefile and stdout into file descriptor 2

redirect stderr into somefile and stdout into somefile. 

答え4

私はいつも2 -> 1だったことを覚えています。 Stderrからstdoutへ。

>中間部分は常に難しく、鋭い文字が最初に思い出され、その後は実生活で使えなかった文字が浮かび上がるまで常に台無しにします&

だから絶対に2&>1、いつも2>&1

関連情報