트랩 에코는 파일에 쓸 때 콘솔에 쓰지 않고 인쇄합니다.

트랩 에코는 파일에 쓸 때 콘솔에 쓰지 않고 인쇄합니다.

"CTRL+C"를 종료하면 다음 스크립트가 실행됩니다.

#!/bin/bash
function waa(){
    for i in {1..10}
    do
      echo "start.sh: sleeping $i"
      sleep 1s
    done
}

trap "echo 'GAGA'" TERM

waa >> log.txt

트랩 에코 "GAGA"가 log.txt로 이동합니까? 그 행동이 왜 저럴까요? 매우 직관적이지 않습니까?

감사해요!

답변1

표준 출력을 로 리디렉션 waa하고 스크립트가 실행되는 동안 log.txt을 트리거했습니다 . 해당 컨텍스트에서 실행됩니다 .trapwaaecho

에코가 다음 위치로 이동하도록 하려면콘솔, 표준 오류로 리디렉션해 볼 수도 있습니다. 예:

trap "echo 'GAGA' >&2 " TERM

(스크립트를 실행하는 동안 표준 오류를 리디렉션하지 않는 한 도움이 될 것입니다).

관련 정보