如何在Linux/Unix上永久设置$path?

如何在Linux/Unix上永久设置$path?

我试图在我的路径中添加一个目录,所以它总是在我的Linux路径中。我试过:

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

但是,每当我退出终端并启动一个新的终端实例时,这个路径就会丢失,我需要再次运行导出命令。

我如何才能这样做,这将是永久设置?


汪汪一只猫
浏览 1026回答 3
3回答

慕的地6264312

你需要把它添加到你的~/.profile或~/.bashrc档案。 export PATH="$PATH:/path/to/dir"根据您正在做的事情,您可能还想要与二进制文件进行符号链接:cd /usr/bin sudo ln -s /path/to/binary binary-name请注意,这不会自动更新会话其余部分的路径。要做到这一点,您应该运行:source ~/.profile  or source ~/.bashrc

子衿沉夜

在Ubuntu中,编辑/etc/environment..它的唯一目的是存储环境变量。最初,$path变量是在这里定义的。这是我的/etc/environment档案:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"因此,您可以打开这个文件作为根,并添加任何您想要的。要获得即时结果,请运行(以普通用户身份尝试)。和(根):source /etc/environment && export PATH最新情况:如果你用zsh(a.k.a Z Shell),在/etc/zsh/zshenv:source /etc/environment我在Ubuntu 15.10上遇到了这个小怪胎,但是如果你兹什是没有得到正确的路径,这可能就是为什么

慕丝7291255

有多种方法可以做到这一点。实际的解决办法取决于目的。变量值通常存储在系统或用户会话开始时运行的赋值列表或shell脚本中。如果使用shell脚本,则必须使用特定的shell语法。系统宽/etc/environment唯一的任务列表。非常适合添加系统范围的目录,如/usr/local/something/bin到PATH变量或定义JAVA_HOME./etc/xprofile启动X窗口系统会话时执行的shell脚本。这是为每一个登录到X窗口系统的用户运行的。这是一个很好的选择PATH对于每个用户都有效的条目,如/usr/local/something/bin..该文件由其他脚本包含,因此使用POSIX shell语法,而不是用户shell的语法。/etc/profile和/etc/profile.d/*外壳脚本。对于只使用shell的系统来说,这是一个很好的选择。这些文件仅由shell读取。/etc/<shell>.<shell>rc..外壳脚本。这是一个糟糕的选择,因为它是特定于单个shell的。用户会话~/.pam_environment..唯一的任务列表。装上帕姆在每个用户会话的开头,如果它是X窗口、系统会话或shell,则不相关。不能引用其他变量,包括HOME或PATH所以它的用途有限。~/.xprofile外壳脚本。这将在用户登录到X窗口系统时执行。这里定义的变量对每个X应用程序都是可见的。扩展的完美选择PATH的值,例如~/bin或~/go/bin或定义特定于用户的GOPATH或NPM_HOME..该文件由其他脚本包含,因此使用POSIX shell语法,而不是用户shell的语法。通过快捷方式启动的图形文本编辑器或IDE将看到这些值。~/.profile外壳脚本。它只对从终端或终端模拟器启动的程序可见。对于只使用shell的系统来说,这是一个很好的选择。~/.<shell>rc..外壳脚本。这是一个糟糕的选择,因为它是特定于单个shell的。分发专用文件乌本图ArchLInux
打开App,查看更多内容
随时随地看视频慕课网APP