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

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

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

   

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

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

至此问题解决完毕。