如何将目录添加到路径中?

如何将目录添加到 $PATH 在Ubuntu中,并使更改永久?

使用~/。配置文件设置$PATH

设置在的路径 .bash_profile 只会在bash登录shell中设置(bash -l).如果你把你的路放进去 .profile 它将可用于您的完整桌面会话。 这意味着即使是metacity也会使用它。

例如 ~/.profile:

if [ -d "$HOME/bin" ] ; then  PATH="$PATH:$HOME/bin"fi

顺便说一下,您可以通过查看进程的环境来检查进程的PATH变量 /proc/[pid]/environ (将[pid]替换为来自 ps axf). 例如使用 grep -z "^PATH" /proc/[pid]/environ

注意事项:

bash 作为登录shell不解析 .profile 如果有的话 .bash_profile.bash_login 存在。 从 man bash :

它寻找~/。bash_profile,~/。bash_login,和~/。配置文件,以该顺序,并从存在且可读的第一个读取和执行命令。

查看 答案如下 有关资料 .pam_environment,或 .bashrc 对于交互式非登录shell,或通过将脚本放入全局设置所有用户的值 /etc/profile.d/ 或使用 /etc/X11/Xsession.d/ 以影响显示管理器会话。

编辑 .bashrc 在您的主目录中,并添加以下行:

export PATH="/path/to/dir:$PATH"

您将需要来源您的 .bashrc 或注销/登录(或重新启动终端)以使更改生效。 来源你的 .bashrc,只需输入

$ source ~/.bashrc

建议的地方来定义永久, 全系统 应用于所有用户的环境变量在:

/etc/environment

(这是默认的地方 PATH 被定义)

这将工作在桌面或控制台,gnome-终端或TTY,风雨无阻;)

  • 要编辑,请打开终端并键入:

    sudoedit /etc/environment

    (或使用以下方法打开文件 sudo 在你最喜欢的文本编辑器中)

要使其在不重新启动的情况下工作,请运行 . /etc/environmentsource /etc/environment. 由于此文件只是一个简单的脚本,它将运行并将新路径分配给 PATH 环境变量。 检查运行 env 并查看 PATH 列表中的值。

相关:

我认为Ubuntu的规范方式是:

  • 下创建一个新文件 /etc/profile.d/

    sudo vi /etc/profile.d/SCRIPT_NAME.sh
  • 加在那里:

    export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
  • 并给它执行权限

    sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh

对于完全的新手(像我一样)谁是更舒适的GUI:

  1. 打开你的 $HOME 文件夹。
  2. 前往 查看显示隐藏文件 或按 Ctrl + H.
  3. 右键点击 .profile 并点击 使用文本编辑器打开.
  4. 滚动到底部并添加 PATH="$PATH:/my/path/foo".
  5. 保存。
  6. 注销并重新登录以应用更改(让Ubuntu实际加载 .profile).

对于仅对特定用户可用的持久性环境变量。 我强烈推荐Ubuntu官方文档。

https://help.ubuntu.com/community/EnvironmentVariables

参考上面的文档,我已经设置了我的 Android SDK路径-工具 由:

  1. 创建 ~/.pam_environment 主目录中的文件。
  2. 其中的内容是 PATH DEFAULT=${PATH}:~/android-sdk-linux/tools.
  3. 附加的自定义用户路径可以通过分隔路径与添加 冒号(:).
  4. 这需要 重新登入,这意味着您需要注销并登录回桌面环境。

把那条线放在你的 ~/.bashrc 档案。

每当你打开一个终端,它就会得到来源

编辑:根据下面的评论,对于一个更一般的设置,将适用于所有的炮弹(包括当你打 Alt-F2 在Unity中),将该行添加到您的 ~/.profile 档案。 可能不应该做这两个,因为路径将被添加两次到您的 PATH 环境,如果你打开一个终端。

要设置系统范围,请追加该行 export PATH=/path/you're/adding:$PATH 到最后 /etc/profile.

若要仅为登录用户添加目录,请将同一行追加到 ~/.bash_profile.

添加到.bashrc将工作,但我认为设置路径变量的更传统方式是在。通过添加以下行bash_profile。

PATH=$PATH:/my/path/fooexport PATH

根据 这个线程 看起来好像Ubuntu的行为与RedHat和克隆略有不同。

在终端机, cdthe_directory_you_want_to_add_in_the_path

echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc

这不是我的主意。 我发现这种方式导出路径在这个 这里的博客.

EnvironmentVariables - Community Help Wiki 你需要知道的一切。 我发现这里的很多输入都是不正确的,或者至少没有建议使用该方法。 这是一个很好的信息,可以让你根据你这样做的原因来确定在哪里修改你的环境变量,以及如何在不把一切都搞砸的情况下做到这一点(就像我按照前面提到的一些不好的建议所做的那样)。 再见,谢谢你的鱼!