最近写个shell,监控系统的运行。其中有一条指令如下:

   IP=`ifconfig em1 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`

   此命令手动执行都ok。可以正常显示ip。我放到计划任务里面每次都执行不成功。最后查明是crontab的环境变量和root用户的环境变量不同导致的。

   

centos crontab环境变量问题_第1张图片

执行env指令得到当前的用户环境变量。

centos crontab环境变量问题_第2张图片

将PATH环境变量添加到crontab的第一行,如下图所示。

wKiom1iVadLy7r6XAAAnw7yOX2Y853.png-wh_50

至此问题解决完毕。