Script/Shell

출력제어 :: STDOUT/ STDERR / Redirection

put-stacker 2020. 7. 14. 13:43

쉘은 스크립트언어이자 배치명령어이다.

이전에는 배치 스크립트라 불리기도 했다.

Batch는 데이터를 순차적으로 처리하는 방식이다.

A, B ... Z 단계별 처리에서 이를 연결시키는 것이라고 이해하면 된다.

 

각 단계는 실행결과인 표준출력 또는 표준오류를 제출한다.

이는 각 스크립트 실행에 대한 것이거나 또는 그 안의 명령어에 대한 것이기도 하다.

이를 조절하는 것이 재지시( Redirection )이다.

단계별로 시간이 오래걸리는 분석/처리프로그램에서는 Redirection 을 통해

해당 오류를 추적하고 문제를 해결하는데 쓴다.

 

Bash Shell 로 확인하면 다음과 같다.

# stdout :: ( 1 )
# stderr :: ( 2 )
# redirection :: ( > )
/bin/bash procStep1.sh 2>err.log 1>out.log


# 대상지시어 :: ( & )
/bin/bash procStep2.sh 2>&1 1>all.log

# 출력제거 :: ( /dev/null )
# 장치 널포인터로 재지시하면 출력생성을 제거할 수 있다.
/bin/bash procStep2.sh 2>/dev/null 1>/dev/null