Is it possible to make commands in crontab run with bash instead of sh? I know you can pass commands to bash with -c
, but that's annoying and I never use sh anyway.
-
don't really know what you're doing (not familiar with cron) but if you are running a script then adding a shebang to it should work, not sure if I am correct.– Alvin WongOct 11, 2013 at 17:18
1 Answer
You should be able to set the environment variable prior to the cron job running:
SHELL=/bin/bash
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
-
3
-
4@Fluffy
.bashrc
is - by definition - for interactive shells; so when started viacron
,bash
will only read this file if it is an interactive shell.– umläuteOct 10, 2013 at 16:03 -
29I was able to make it read bashrc by adding
BASH_ENV="/root/.bashrc"
. Thanks– FluffyOct 10, 2013 at 16:12 -
4
-
4Regarding
.bashrc
,bash -l
looks useful, blog.endpoint.com/2015/02/cron-wrapper-keep-your-cron-jobs.html– mpapecMay 4, 2017 at 5:15