¿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.


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.