如何在 Linux 中更改 PATH 变量

为所有用户将新目录添加到 PATH 变量

全局路径可以通过以下任一方式更新:

  1. 添加一个名为 /etc/profile.d/mypath.sh 的新文件,在所有用户登录时运行,其中包含:
PATH=$PATH:/new_path

(注意:此方法将影响所有用户(现有用户和未来用户)。

  1. 以上面在本解决方案中进一步讨论的相同方式编辑名为 /etc/skel/.bash_profile 的文件。
  • /etc/skel/ 中的文件将在创建时复制到任何新用户的主目录。
  • 注意:此方法不会对任何现有用户帐户产生影响。

如何检查PATH变量的值

要检查当前用户的路径列表,请使用以下任一命令:

# set | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

什么是PATH变量

PATH 环境变量存储一个以冒号分隔的位置列表,用于在命令行运行时查找命令/应用程序。
例如,当运行诸如 ls 或者 vi 之类的命令时,系统会检查 PATH 中列出的所有目录(按从左到右的顺序)以查找用户试图运行的可执行文件或者脚本。
这允许在不知道它们在文件系统中的位置的情况下运行命令。
以下是 Linux 系统中 PATH 变量的示例。

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

默认情况下,PATH 已设置为在以下目录中查找:

/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin
https://onitroad.com 更多教程

将新目录添加到 PATH 变量对于特定用户

通过编辑用户主目录中的 ~/.bash_profile 或者 ~/.bashrc 文件,可以将新目录添加到用户的 PATH 中。
例如,通常在 ~/.bash_profile 中使用类似于以下内容的行设置 PATH:

# vi ~/.bash_profile
PATH=$PATH:$HOME/bin 
export PATH

要将新目录添加到路径(例如“/new_path”),然后通过将其添加到末尾来更改 PATH 行:

# vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/new_path           ### Notice the colon ':' between the directories

然后将 PATH 和 EXPORT 行从 ~/.bash_profile 复制到 ~/.bashrc 以确保无论用户如何登录机器,路径都得到了适当的设置。
在这些更改之后,PATH 现在将在用户下次登录系统时包含目录“/programs”。

将更改应用到当前共享

要仅对当前 bash 终端应用 PATH(不注销),可以运行以下命令:

$ . ~/.bash_profile

注意:最好注销然后重新登录,以便整个环境现在都能看到它。

日期:2020-09-17 00:13:13 来源:oir作者:oir