在新的Ubuntu安装中,用户的PATH是:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
但是在同一个用户的cron环境中,它是:
/usr/bin:/bin
我查看了主目录中所有用户的点文件,其中没有任何更改PATH.
什么改变了PATH?为什么cron不使用PATH?
关于这个问题 – 为什么会这样 – 解释它的手册页是crontab(5),Iow可以通过man 5 crontab访问(不是第1节中的默认值). cron守护程序不会尝试模拟shell会话,而是为cron作业设置一个干净的最小环境,然后允许crontab文件设置自己的任意环境变量. Debian附带的较新的cron守护进程还有一些针对pam_env等的附加规定.
原文链接:https://www.f2er.com/bash/385256.html