2>&1 리디렉션 구문을 어떻게 기억하시나요?

2>&1 리디렉션 구문을 어떻게 기억하시나요?

니모닉이나 시스템이 있나요? 이 문제가 수년 동안 나를 괴롭혔습니다. 항상 찾아보아야 합니다.

답변1

C 프로그래머라면 &1"1의 주소"라고 생각하면 2>&1"파일 설명자 #2를 #1과 같은 위치로 리디렉션"이라고 읽습니다.

답변2

"2 대 1"("to" being >)은 "2와 1"보다 나에게 더 논리적으로 의미가 있는데, 이는 제가 일반적으로 혼동할 수 있는 것입니다. "and one"을 단일 명사(장소)로 간주하는 경우 문맥상 문법적으로도 의미가 있습니다. 이는 "Two and to one"과 관련이 더 어렵습니다. "to one"을 단일 명사로 간주해야 합니다. 명사이며 여전히 문맥상 의미가 없습니다.

답변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

관련 정보