developer tip

echo> & 2 "일부 텍스트"쉘 스크립팅에서 의미하는 바

copycodes 2021. 1. 10. 17:28
반응형

echo> & 2 "일부 텍스트"쉘 스크립팅에서 의미하는 바


나는 echo여러 곳에서 이와 같이 사용되는 것을 보았습니다 .

echo >&2 message text ...

이것은 무엇을 의미 하는가?

나는 이해 2>&1하지만 위의 사용법을 어떻게 해석해야할지 잘 모르겠습니다.

누구든지 설명해 주시겠습니까?


다른 사람들이 놓친 부분을 빠르게 설명하려면 :

echo "hey" >&2

>표준 출력 리디렉션 (암시 적 1>)

&다음에 오는 것은 파일이 아닌 파일 설명자입니다 (의 오른쪽에만 해당 >).

2 stderr 파일 설명자 번호

리디렉션 stdout에서 echo명령 stderr. (사용한다면 라는 파일로 echo "hey" >2출력 hey합니다 2)


여기서의 사용은 >&2표준 출력 대신 표준 오류로 출력을 보내는 것입니다. 이것은 일반적으로 계산의 실제 결과가 아닌 로깅 출력을 보내는 데 더 좋은 곳입니다. 특히 결과가 다른 파일 출력 (예 : 로깅을 다음으로 전송)이 아닌 표준 출력 (파일로 리디렉션 될 수 있음)으로 인쇄되는 경우 특히 그렇습니다. 표준 오류는 출력 파일로 리디렉션 된 실제 출력에 포함되지 않도록합니다).


>&2리디렉션에 대한 바로 가기입니다 1>& 2.

2>& 1이것은 명령의 stdout 을 현재 stderr에 연결한다는 것을 이해 하므로 이해 하게됩니다.


다른 답변은 좋은 설명을 제공하지만 여기에서 묻는 정확한 질문 이 누락되었습니다 . 가장 좋은 답변은 질문에 대한 직접 댓글 형식이지만, 아쉽게도 Stack Overflow는 댓글을 추가 할 가치가 있다고 생각하지 않습니다.

그래서, tripleee를 인용하면 :

명령 줄에서 리디렉션 의 미리 [ sic ] 위치는 중요하지 않습니다. 모든 >&2 echo messageecho >&2 messageecho message >&2동일합니다.

이것은 내가 찾고 있던 정확한 질문이며 현재 답변 중 어느 것도 대답하지 않습니다. 그들은 내가 이미 알고있는 것을 설명합니다. 다른 한편으로, 더 나은 문구를 사용하면 질문에 도움이 될 수 있지만 다시 말하면 댓글이 금지되어 있으므로 ...

참조 URL : https://stackoverflow.com/questions/23489934/echo-2-some-text-what-does-it-mean-in-shell-scripting

반응형