你有助記詞或系統嗎?這困擾了我很多年,我總是要檢查一下
答案1
如果您是 C 程式設計師,您可以將其視為&1
“1 的位址”,因此2>&1
讀取“將檔案描述符 #2 重新導向到與 #1 相同的位置”。
答案2
“二對一”(「存在」>
)對我來說比「二加一」更符合邏輯,我通常會把它與「二加一」混淆。如果您將“and one”視為單一名詞(一個地方),那麼它在上下文中也具有語法意義,而“Two and to one”則更難做到這一點- 您必須將“to one”視為單一名詞名詞,但它仍然沒有上下文意義。
答案3
不是助記符,但我讀如下:
0
是標準輸入。
1
是標準輸出。
2
是標準錯誤。
>
是進入。
<
已出。
&
是檔案描述符(在某些 shell 中)。
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