erro de sintaxe próximo ao token inesperado `>' no script executado pelo cron

erro de sintaxe próximo ao token inesperado `>' no script executado pelo cron

Estou escrevendo um script de shell para Mac OS/Linux. O script é executado por um cron job. eu estou tentandoanexar stdout e stderrpara um arquivo de log. Meu comando (simplificado) fica assim (linha 5 myscript.sh):

mycommand &>> log.txt

Estou tendo o erro a seguir:

myscript.sh: line 5: syntax error near unexpected token `>

No entanto, se eu mudar o comando para:

mycommand &> log.txt

Não recebo nenhum erro, mas o arquivo foi sobrescrito (não anexado).

Alguma idéia de por que &>>não funciona, mas &>funciona?

Responder1

croné executado usando she a sintaxe de redirecionamento que você está tentando usar é uma extensão Bash (e bastante recente; apenas versões mais antigas do Bash são suportadas &>).

A maneira portátil de anexar saída padrão e erro padrão a um arquivo é

mycommand >>log.txt 2>&1

informação relacionada