Estoy escribiendo un script de shell para Mac OS/Linux. El script se ejecuta mediante un trabajo cron. Estoy tratando deagregar stdout y stderra un archivo de registro. Mi comando (simplificado) se ve así (línea 5 en myscript.sh
):
mycommand &>> log.txt
Obtuve el siguiente error:
myscript.sh: line 5: syntax error near unexpected token `>
Sin embargo, si cambio el comando a:
mycommand &> log.txt
No recibo ningún error, pero el archivo se sobrescribe (no se adjunta).
¿Alguna idea de por qué &>>
no funciona pero &>
funciona?
Respuesta1
cron
se ejecuta usando sh
y la sintaxis de redirección que está intentando usar es una extensión de Bash (y una bastante reciente; solo se admiten versiones anteriores de Bash &>
).
La forma portátil de agregar salida estándar y error estándar a un archivo es
mycommand >>log.txt 2>&1