shell脚本直接运行和crontab结果不一样

时间:2023-01-19 20:59:46

在脚本最前面加上一句:

source ~/.bash_profile

这样运行环境就一摸一样了。加上这句后,直接执行能成功的脚本放在crontab里都能执行。

所有的crontab问题只有两种可能,

1,环境

2,路径

而第二种问题往往又是第一种问题引起的,所以加上.bash_profile里的环境后99%的问题都一招通杀。

.bash_profile会读取.bashrc

.bashrc 会读取 /etc/bashrc

/etc/bashrc 会读取 /etc/profile

一个Linux所有的系统用户,所有的环境变量,都逃不出以上几个文件。(前提是你用bash)