쉘스크립트 2>&1 /dev/null알아보기

쉘스크립트를 작성하기 위해 예시를 찾아보다가 /dev/null 2>&1 같은 것을 보신적이 있으실 겁니다. 지금이 아니더라도 나중에 한번쯤은 보게 되실 수도 있으실 텐데요, 어떤 뜻인지 천천히 알아보도록 하겠습니다.

2>&1 는 표준에러를 표준출력으로 redirection 하라는 의미입니다.

 

하나하나의 의미를 살펴보자면


0 : 표준입력
1 : 표준출력
2 : 표준에러

 

< filename 입력 방향을 바꾼다.
> filename 출력 방향을 바꾼다.(overwrite)
>> filename 출력에 이어서 덧붙인다.(append)

 

아래와 같은 예시로 출력을 파일의 형태로 저장할 수 있습니다.

표준출력

# output > file_name.txt


2> filename 오류의 방향을 바꾼다.
2>> filename 오류의 방향을 바꾸고 덧붙인다.
&> filename 출력과 오류를 리다이렉션 한다.
>& filename 오류와 출력을 리다이렉션 한다.
1>&2 출력을 오류로 내보낸다.


2>&1 오류를 출력으로 내보낸다.
>| 출력을 리다이렉션 할 때 NOCLOBBER 설정을 무시한다
<> filename 장치 파일(/dev)이면, 표준 출력, 표준 입력 등에 모두 사용한다.

댓글

Designed by JB FACTORY