我编写了一个脚本来检查 wifi 连接,其中包含“if then else”语句。如果我手动运行脚本,“if”语句应该为 1,如果 crontab 自动运行它,“if”语句为 0,并且脚本运行 else 命令。有人能想象出产生不同结果的原因吗?
脚本的“if”条件是:
if ifconfig wlan0 | grep -q "inet addr:" ; then
答案1
该ifconfig
二进制文件位于 中/sbin
,默认情况下它不在 cron 路径上。使用命令的完整路径:
if /sbin/ifconfig wlan0 | /bin/grep -q "inet addr:" ; then