¿Cómo cambiar cron shell (sh a bash)?

70

¿Es posible hacer que los comandos en crontab se ejecuten con bash en lugar de sh? Sé que puedes pasar comandos para golpear -c, pero eso es molesto y nunca uso sh de todos modos.

Mullido
fuente
realmente no sé qué estás haciendo (no estoy familiarizado con cron) pero si estás ejecutando un script, entonces agregar un shebang debería funcionar, no estoy seguro de si estoy en lo correcto.
Alvin Wong

Respuestas:

103

Debería poder establecer la variable de entorno antes de ejecutar el trabajo cron:

SHELL=/bin/bash
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
slm
fuente
2
¿es posible también hacer que se lea .bashrc?
Fluffy
3
@Fluffy .bashrces, por definición, para shells interactivos ; así que cuando se inicia vía cron, bashsolo leerá este archivo si es un shell interactivo .
Lunes
18
Pude hacerlo leer bashrc agregando BASH_ENV="/root/.bashrc". Gracias
Fluffy
2
@ Fluffy, deberías responder
eso
2
En cuanto a .bashrc, bash -lparece útil, blog.endpoint.com/2015/02/cron-wrapper-keep-your-cron-jobs.html
mpapec