[Linux/Unix] 2>&1 이해하기
·
OS_Linux&Unix
이런저런 쉘스크립트를 보다면 스크립트의 문장 끝부분이 다음과 같은 구문을 종종 보게된다. cat /tmp/error.txt > /dev/null 2>&1 cat 명령은 error.txt 파일의 내용을 출력하는 명령이고... > 는 리다이렉션으로 화면에 출력되는 내용을 > 다음에 지정한 파일로 보내는 것이니 /dev/null 로 결과를 보내고, 즉 화면에는 표시하지 않고...까지는 유닉스 환경을 다루어본 학생이나 엔지니어라면 쉽게 이해한다. 문제는 2>&1 이다. 흔히 "아~저건 에러메시지도 화면에 표시하지 않게하는 거지."라며 아는 척~~하는 사람들도 많다. 맞다. 정확하게 알고 있긴하다. 쉘스크립트를 작성하고 실행할 때 중간에 에러가 발생하게 되면 에러메시지가 화면에 고스란히 출력되어 보기에 썩~좋지 ..