如何将目录添加到 $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/environment 或 source /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:
- 打开你的
$HOME文件夹。 - 前往 查看 → 显示隐藏文件 或按 Ctrl + H.
- 右键点击
.profile并点击 使用文本编辑器打开. - 滚动到底部并添加
PATH="$PATH:/my/path/foo". - 保存。
- 注销并重新登录以应用更改(让Ubuntu实际加载
.profile).
对于仅对特定用户可用的持久性环境变量。 我强烈推荐Ubuntu官方文档。
https://help.ubuntu.com/community/EnvironmentVariables
参考上面的文档,我已经设置了我的 Android SDK路径-工具 由:
- 创建
~/.pam_environment主目录中的文件。 - 其中的内容是
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools. - 附加的自定义用户路径可以通过分隔路径与添加 冒号(:).
- 这需要 重新登入,这意味着您需要注销并登录回桌面环境。
把那条线放在你的 ~/.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和克隆略有不同。
在终端机, cd 到 the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc这不是我的主意。 我发现这种方式导出路径在这个 这里的博客.
EnvironmentVariables - Community Help Wiki 你需要知道的一切。 我发现这里的很多输入都是不正确的,或者至少没有建议使用该方法。 这是一个很好的信息,可以让你根据你这样做的原因来确定在哪里修改你的环境变量,以及如何在不把一切都搞砸的情况下做到这一点(就像我按照前面提到的一些不好的建议所做的那样)。 再见,谢谢你的鱼!