今天发现在linux下,普通用户的crontab任务不执行。网上搜了好多,好多说要在执行的脚本前面加上如下内容
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
加了之后测试,没有任何作用。不知道是不是只有执行脚本在用户根目录才有作用。
最后发现要在脚本开头加入以下内容才可以
#!/bin/bash
#set -x
source ~/.bash_profile
其中第一行的作用是指明此脚本使用/bin/bash来解释执行。
第二行可以没有
第三行是引入用户环境变量。
还要注意一点就是:脚本要是unix格式而不能是dos格式。