永久PATH变量


38

如何使该/media/De Soft/mongodb/binPATH变量永久化?

每个人都在说“ export PATH=$PATH:media/De\ Soft/mongodb/bin您的~/.profile,或.bashrc.zshenv取决于您的外壳”。

我不知道什么是~/.profile.bashrc.zshenv。他们实际上是做什么的?

如何添加export PATH=$PATH:my/path到.profile / .bashrc / .zshenv中?

我使用默认终端的64位Ubuntu 14.04 LTS。

Answers:


70

它们是配置文件。单程:

  • 使用Ctrl + Alt + T打开终端窗口
  • 运行命令 gedit ~/.profile
  • 添加行

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    到底部并保存

  • 注销并再次登录

编辑:

一种更安全的方法是使用引号。如果原始目录中的一个或多个目录PATH包含空格,则必须这样做。所以:

export PATH="$PATH:/media/De Soft/mongodb/bin"

@GunnarHjalmarsson,我真的需要导出PATH var吗?也许,默认情况下是在其他脚本中完成的?我已经通过〜/ .profile进行了检查,并且有PATH
变量

4
@ yuranos87:不,你是对的;修改时PATH~/.profile,出口是多余的,因为PATH已经是一个环境变量。
Gunnar Hjalmarsson

1
您无需注销并再次登录。使用source ~/.profile
timbo

1
@timbo:这不会使变量可用于会话中已启动的进程(当前终端除外)。
Gunnar Hjalmarsson

1
您是否不需要在字符串中加上引号export PATH="$PATH:/media/De\ Soft/mongodb/bin"?它是可选的吗?
布鲁诺·本岑

4

在终端窗口中键入以下内容

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

关闭终端,然后重新启动计算机。在终端中键入此路径时,该路径应包含/ media / De \ Soft / mongodb / bin:

echo $PATH

13
仅适用于当前终端会话。它需要安装在~/.profile(或~/.bashrc在普通的GNU / Linux发行版上…… ~/.bash_profile)上,以在每次控制台加载时运行。
亚历杭德罗·伊万

同意 但是在系统重新启动后,它会加载到path变量中。
Nivedita Velagaleti '16

10
@NiveditaVelagaleti:不,除非您通过配置文件将其持久化,否则不会这样。terminal命令不会PATH永久修改。
Gunnar Hjalmarsson

2

要永久更改,PATH您需要对/etc/environment文件进行更改。编辑之前进行备份:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

样本输出:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

路径由分隔,:因此要添加新路径,x/y/z这将使我们/etc/environment看起来像:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.