/dev/null 쉘 출력 버리기

문학적인유사성·2022년 8월 8일
0

misc.

목록 보기
9/32

/dev/null

파일은 항상 비워져있음. 여기로 가는 내용은 버려짐. 그러나 오류 발생시 출력됨

$ echo taylorswift > /dev/null
$ taylorswift.sh > /dev/null
-bash: taylorswift.sh:command not found

0 표준 입력 (standard input)

기본적으로 키보드, 프로그램이나 쉘에서 입력장치 변경 안하면, 일반적으로 키보드 입력

1 표준 출력 (standard output)

2 표준 에러 (standard error)

일반적으로 입력장치 변경할때는 리다리엑션이나 파이프를 사용

표준 출력만 무시하는 경우

$ echo taylorswift 1> /dev/null

표준 오류 출력만 무시하는 경우

$ taylorswift.sh 2> /dev/null

2>&1

에러 메시지도 화면에 표시하지 않게 하는 것

리다이렉션 <, >

cat < example.log (표준 입력장치인 키보드를 example.log 파일로 바꾸도록 지정하여 파일 내용을 표준 입력으로 리다이렉트 )
cat exmple.log (파일을 열도록 지정)
이 두개는 결과는 같지만, 동작은 다름
=> 표준 에러(2)를 >(다음의 장치, 리다이렉트) &1(표준 입력/출력/에러에서의 표준 출력) 표준 출력의 출력 장치로 지정된 장치(파일)을 표준에러 출력장치로 함께 사용한다. 표준 출력을 표준에러로 리다이렉트 하겠어( >& 리다이렉트 합치기? 같은 것 )
==> 특정 명령어의 결과를 특정 파일에 넣음 + 에러도 같은 파일에 넣고싶음

표준 출력과 표준 오류 출력 둘다 무시하는 경우

$ echo taylorswift > /dev/null 2>&1
$ taylorswift.sh > /dev/null 2>&1

profile
유사 IT 항해

0개의 댓글