如何为服务器上的所有用户设置 PATH 变量?

Rob*_* S. 58 latex environment-variables manpage software-installation

我刚刚为我公司的 Ubuntu 服务器安装了LaTeX,我们都通过 SSH 来使用它。在安装结束时,它说:

Add /usr/local/texlive/2010/texmf/doc/man to MANPATH, if not dynamically determined.

Add /usr/local/texlive/2010/texmf/doc/info to INFOPATH.

Most importantly, add /usr/local/texlive/2010/bin/x86_64-linux to your PATH for current and future sessions.
Run Code Online (Sandbox Code Playgroud)

如何为系统上的所有用户设置这些变量?(是的,我有 sudo 权限)。

gei*_*rha 63

您将这些添加到/etc/environment.

它可能已经有一行 for PATH,因此您只需将其附加:/usr/local/texlive/2010/bin/x86_64-linux到该行的末尾。然后为 MANPATH 和 INFOPATH 添加两个新行。

请参阅https://help.ubuntu.com/community/EnvironmentVariables

编辑后/etc/environment,注销并重新登录,并检查例如echo "$MANPATH"输出您添加的值。

  • 我已经删除了我的答案,因为这似乎是一个更好的选择。根据 https://help.ubuntu.com/community/EnvironmentVariablesSystem-wide `/etc/environment` 是“影响整个系统(而不是特定用户)的环境变量设置[... ]" `/etc/profile` 和 `/etc/bash.bashrc` 被列为“不推荐” (2认同)

Jam*_*ess 8

将这些默认 PATH 添加到/etc/profile. 它适用于 bash 和 sh。Bash在 Ubuntu 中是默认的。

PATH=$PATH:<new path you need to add>
Run Code Online (Sandbox Code Playgroud)

echo $SHELL可以用来判断当前用户的shell,也可以从/etc/passwd文件中查看。

或者,您也可以将其包含在内/etc/environment。在这里,您只需在 PATH 语句的末尾添加 PATH 即可。

  • 文件的执行顺序为 /etc/environment -&gt; /etc/profile -&gt; /etc/bash.bashrc -&gt; /home/&lt;user&gt;/.profile -&gt; /home/&lt;user&gt;/.bashrc (18认同)