How can I run a cron command with existing environmental variables?
If I am at a shell prompt I can type echo $ORACLE_HOME
and get a path. This is one of my environmental variables that gets set in my ~/.profile
. However, it seems that ~/.profile
does not get loaded fron cron scripts and so my scripts fail because the $ORACLE_HOME
variable is not set.
In this question the author mentions creating a ~/.cronfile
profile which sets up variables for cron, and then he does a workaround to load all his cron commands into scripts he keeps in his ~/Cron
directory. A file like ~/.cronfile
sounds like a good idea, but the rest of the answer seems a little cumbersome and I was hoping someone could tell me an easier way to get the same result.
I suppose at the start of my scripts I could add something like source ~/.profile
but that seems like it could be redundant.
So how can I get make my cron scripts load the variables from my interactive-shell profile?
source ~/.profile
to a program redundant? Programs inherit their environment from the calling program. If that calling program is not your shell, then how will the decendant program get the environment that you want?su -l
to setup a normal login environment including the $PATH for either root or other specific user.