San*_*dra 28 linux debian bash
我有一个 Debian Lenny 服务器,我希望www-data
用户/usr/local/zend/bin
在它的 PATH 中有一个,这样它就可以在 cron 中以www-data
.
如何添加/usr/local/zend/bin
到 PATH,以便www-data
可以在/usr/local/zend/bin
.
Gil*_*il' 45
设置 PATH 的第一个地方是/etc/login.defs
. 有一个针对 root 的设置,也有针对其他所有人的设置。
另一个可以定义环境变量的地方是/etc/environment
. 这些设置将适用于所有人(您不能在那里编写任意的 shell 代码)。
可以定义环境变量的第三个地方是/etc/profile
. 在那里你可以编写任意的 shell 代码。如果您想要特定于用户的设置,则有相应的每个用户文件~www-data/.profile
. 但这仅适用于控制台交互式登录;特别是它不适用于 cron 作业,除非它们明确地使用/etc/profile
.
如果您只需要PATH
在用户 crontab 中进行该设置,则可以将其写在 crontab 的开头。请注意,您需要完整列表 ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
),您不能使用变量替换(PATH=$PATH:/usr/local/zend/bin
在那里不起作用)。
要为除 root 之外的所有用户设置路径,请编辑/etc/profile
或/etc/enviroment
. 对于 root 用户或单个用户,分别编辑他们的.bashrc
或.bash_profile
其主目录。添加PATH=$PATH:/new/location/
.