我们经常会在linux/unix/centos下面写脚本放在任务计划里面自己执行,但是有的时候会遇到脚本手动执行没问题,但是crontab里面就不行了;这个是环境变量的原因。
这个问题很简单,就是因为你手动执行的时候( 通过su 或者直接登入用户的也就是相当于执行了用户家目录下面的 .bash_profile文件 )环境变量就生效了;
而你通过crontab的时候,环境变量没生效,所以脚本执行失败(这个脚本有要使用到相应环境变量的),而有的脚本不需要使用环境表里,就没问题,比如需要使用java环境变量
的应用等;
解决办法就是在你的脚本申明后面添加激活环境变量命令即可:
#!/bin/bash/
source /home/user/.bash_profile
或者
#!/bin/bash/
. /home/user/.bash_profile
或者
#!/bin/bash/
/bin/bash /home/user/.bash_profile
等只要可以激活环境变量的命令都可以的。

本文探讨了在Linux/Unix/CentOS环境下,脚本在CronTab中执行失败的问题,原因是环境变量未正确加载。文章提供了几种在脚本开头添加命令以激活环境变量的方法,确保脚本能够正常运行。
361

被折叠的 条评论
为什么被折叠?



