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 Wong Oct 11 '13 at 17:18
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
-
2
-
3@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äute Oct 10 '13 at 16:03 -
23I was able to make it read bashrc by adding
BASH_ENV="/root/.bashrc"
. Thanks – Fluffy Oct 10 '13 at 16:12 -
4
-
4Regarding
.bashrc
,bash -l
looks useful, blog.endpoint.com/2015/02/cron-wrapper-keep-your-cron-jobs.html – mpapec May 4 '17 at 5:15