cron이 실행하는 스크립트에서 예상치 못한 토큰 `>' 근처에 구문 오류가 발생했습니다.

cron이 실행하는 스크립트에서 예상치 못한 토큰 `>' 근처에 구문 오류가 발생했습니다.

저는 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

관련 정보