原理如下:
确实,是环境变量的问题,
你用哪个用户可以运行成功,
就用哪个用户的cron
但cron只会使用非常有限的此用户的环境变量,不是此用户的完整环境。
所以在cron执行脚本时最常看到的就是导入PATH或者source ~/.profile;更好些。
这条su -lc ""能够执行是因为root切换到其他用户的完整shell环境,不需要输入密码。

我之前是使用“sudo -s”进入root状态的,而且编辑shell和关联API都是在这种情况下进行操作的。这种情况不能算是root吗?needle 写了:咦,你不是一直在用root用户操作吗?
原理如下:
确实,是环境变量的问题,
你用哪个用户可以运行成功,
就用哪个用户的cron
但cron只会使用非常有限的此用户的环境变量,不是此用户的完整环境。
所以在cron执行脚本时最常看到的就是导入PATH或者source ~/.profile;更好些。
这条su -lc ""能够执行是因为root切换到其他用户的完整shell环境,不需要输入密码。