* 표준출력 : shell에서 실행시 정상 종료시의 메시지로 화면에 출력됨, 파일 디스크립터는 1번
* 표준에러 : shell에서 실행시 발생한 에러 메시지로 화면에 출력됨. 파일 디스크립터는 2번
* /dev/ull : 출력이 파기되어, 아무것도 출력이 되지 않음. (쓰레기통으로 표현됨)
* 2>&1 : 2(표준에러)를 1(표준출력)으로 보내기
* >/dev/null 2>&1 : 앞에 1이 생략 (1>/dev/null 2>&1) → 표준출력,표준에러 다 버려라.
# error.sh
#!/bin/bash echo "About to try to access a file that doesn't exist" cat bad-filename.txt |
# stdout 및 stderr 모두 리디렉션
./error.sh 1> capture.txt 2> error.txt
# stdout 및 stderr을 동일한 파일로 리디렉션
./error.sh > capture.txt 2&>1
# exam.py
!/usr/bin/env python import sys sys.stdout.write("stdout") sys.stderr.write("stderr") |
# stdout을 파일로 redirect
$ ./exam.py > test.txt
# stderr을 refirect하고, stdout만 화면 표시
./exam.py 2> test.txt
# stdout 과 stderr 둘다 파일로 저장
./exam.py 2&> test.txt
# stdout 과 stderr 둘다 화면과 파일로 동시에 redirect
./exam.py 2>&1 | tee test.txt
# 참고사이트
https://stackoverflow.com/questions/637827/redirect-stderr-and-stdout-in-bash
'리눅스' 카테고리의 다른 글
[리눅스] 연속적으로 명령어 실행하기 (;과 &와 &&의 차이) (0) | 2021.04.08 |
---|---|
[리눅스] cat 명렁어로 여러줄 입력하기 (cat << EOF) (0) | 2021.04.08 |
gpasswd: 그룹에 사용자 추가하기 (0) | 2019.01.22 |
리눅스 계정(유저) 생성하는 방법 (0) | 2019.01.04 |
리눅스 find 명령어 사용법 알아보자 (0) | 2018.11.21 |