ubuntu 10 始终为所有用户添加路径变量

ubuntu 10 始终为所有用户添加路径变量

我可以在哪里将路径添加到所有用户、所有 shell 始终可用的路径中。在这种情况下,我希望 /opt/grails/bin 始终可用,即使以 jenkins 中的 tomcat 用户身份运行也是如此。

有 6 个以上的文件可以将其粘贴到其中,但是在我多年的软件开发生涯中,我偶尔会处理 Linux 系统管理任务,却找不到一个清晰的解释来说明您在哪里做这件事, export PATH=$PATH:/opt/grails/bin
并且让每个用户、每种类型的 shell 都能在所有时间使用它。

如果这很重要的话,我在使用 Ubuntu 10.10。

谢谢

答案1

通常是 /etc/profile(由 bash、dash、ksh 及其“sh”模式读取)。

对于系统用户,您可以在 /etc/environment 中声明单个变量。这不是一个好的做法,但它有效(我曾经将它用于 JAVA_HOME 等)。

PATH 的主要问题是它对于系统用户和系统超级用户来说应该有所不同。因此,我会尝试修补 /etc/profile(debian/ubuntu 的方式是将脚本放入 /etc/profile.d/),而不是 /etc/environment 中的单个变量。

一行导出是一个 bashism,请检查 /etc/profile 的第一行以获取可移植语法(以便与 /bin/sh、dash 等一起使用)。

该解决方案不适用于 csh、tcsh 和类似的 shell,但适用于 bourne 之类的 shell。

在 ubuntu 上,您可以研究 PAM,它有一些关于环境和 PATH 的内容,但它更多的是关于登录而不是 shell 初始化。

更新: 要使用 PAM(su、sudo 等),请尝试:/etc/login.defs 可能是您需要的单个文件。

相关内容