저는 Mac OS/Linux용 쉘 스크립트를 작성하고 있습니다. 스크립트는 cron 작업에 의해 실행됩니다. 나는 노력하고있다stdout 및 stderr 추가로그 파일에. 내 명령(단순화)은 다음과 같습니다( 의 5번째 줄 myscript.sh
).
mycommand &>> log.txt
다음 오류가 발생합니다.
myscript.sh: line 5: syntax error near unexpected token `>
그러나 명령을 다음과 같이 변경하면:
mycommand &> log.txt
오류는 발생하지 않지만 파일을 덮어씁니다(추가되지 않음).
&>>
왜 작동하지 않지만 작동하는지 아시나요 &>
?
답변1
cron
을 사용하여 실행되고 sh
사용하려는 리디렉션 구문은 Bash 확장입니다(그리고 상당히 최근 버전입니다. 이전 버전의 Bash만 지원됨 &>
).
표준 출력과 표준 오류를 파일에 추가하는 이식 가능한 방법은 다음과 같습니다.
mycommand >>log.txt 2>&1