网站搜索

如何在 Ubuntu 24.04 中添加 PATH 变量


本教程介绍如何配置 PATH 环境变量。虽然标题说的是 Ubuntu 24.04,但它适用于大多数 Linux 系统。

PATH 指定程序的可执行文件在系统上所在的目录。在不知道或键入文件的完整路径的情况下,只需在命令行中键入应用程序名称,然后您的系统将查找路径目录并运行第一个匹配的目录。

例如,在命令行中输入 firefox 将运行 /usr/bin/firefox 在 Ubuntu、Fedora 和其他默认使用该浏览器的 Linux 中启动 Firefox Web 浏览器。

常见的 Linux 软件包(例如 .deb、.rpm)大多会自动将其可执行文件安装到 PATH 中。对于便携式 Linux 软件包和其他软件包,用户可以手动将包含可执行文件的应用程序文件夹添加到 PATH 中。

检查当前路径变量

大多数 Linux 默认情况下包括 /usr/bin、/usr/local/bin、/usr/sbin、/usr/local /sbin、/usr/games、/usr/local/games 目录放入 PATH 中。同时,第三方应用程序可能会添加更多。

要了解当前的 PATH 变量,请打开终端 (Ctrl+Alt+T) 并运行命令:

echo $PATH

它将打印所有以冒号 (:) 分隔的 PATH 目录。

选项 1:将文件夹/目录添加到 PATH 中以供临时使用。

出于开发或其他目的,您可以将自定义文件夹或目录添加到仅适用于当前终端窗口或命令控制台的 PATH 中。

要将自定义文件夹添加到 PATH,仅适用于当前终端,请使用以下任一命令:

export PATH="/PATH/TO/CUSTOM/FOLDER:$PATH"

或者 :

export PATH="$PATH:/PATH/TO/CUSTOM/FOLDER"

例如,我下载了 SweetHome3D tarball 并将其解压到用户主目录的“MyApps”子文件夹中。要将其添加到 PATH 中,仅适用于当前终端,请使用命令:

export PATH="/home/ji/MyApps/SweetHome3D-7.5:$PATH"

它将该文件夹添加到 PATH 的开头。

对于选择,下面的命令会将其添加到末尾。

export PATH="$PATH:/home/ji/MyApps/SweetHome3D-7.5

注意:运行命令时,它会从头到尾查找路径目录。第一个匹配的将运行。

选项 2:仅为当前用户添加 PATH 变量

仅适用于当前用户,只需编辑以下文件之一即可添加 PATH 变量:

  • .bash_profile - 通常在 Fedora、Manjaro Linux 中使用。
  • .bash_login
  • .profile - 通常在 Debian、Ubuntu Linux 中使用。

如果您的系统有多个,请编辑 .bash_profile(如果存在)或 .bash_login,并且仅在以下情况下使用 .profile:前2个不存在。所有这 3 个通常都会告诉运行 .bashrc,因此编辑 .bashrc 也可以。

在 Debian/Ubuntu 中,只需打开主文件夹,按 Ctrl+H 显示/隐藏隐藏文件,然后单击编辑 .profile 文件。

当文件打开时,你会看到类似这样的内容:

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

它指示将用户主目录中存在的 bin 文件夹添加到 PATH 中。还有一个部分将 .local/bin 添加到 PATH(如果存在)。

您可以通过添加类似的行将自定义文件夹添加到用户的路径中。例如,使用下面的行将 SweetHome3D v7.5 添加到 MyApps 子文件夹下:

if [ -d "$HOME/MyApps/SweetHome3D-7.5" ] ; then
    PATH="$HOME/MyApps/SweetHome3D-7.5:$PATH"
fi

或者,添加下面的行来将该文件夹添加到 PATH 中,无论它是否存在。

export PATH="$HOME/MyApps/SweetHome3D-7.5:$PATH"

要应用更改,您需要注销并重新登录。但是,它不适用于非登录 shell,例如 su user_name 命令。

选项 2:为所有用户添加系统范围内的 PATH 变量

基于 Debian 和 Ubuntu 的系统使用 /etc/environment 文件来指定原始系统范围的 PATH 变量。但是,不建议直接编辑该文件。

相反,/etc/profile.d/ 目录下的 /etc/profile 或 .sh 文件是添加系统范围 PATH 变量的正确位置。

例如,通过运行命令编辑 /etc/profile:

sudo gnome-text-editor /etc/profile

根据您的桌面环境替换 gnome-text-editor 或使用适用于大多数 Linux 的 nano。文件打开时,在末尾添加新行:

export PATH="/usr/lib/myapps/bin:$PATH"

保存文件后(对于 nano,按 Ctrl+S 保存,然后按 Ctrl+X 退出),此情况下的 /usr/lib/myapps/bin 将在下次登录时添加到 PATH 中。

为了保持/etc/profile干净,最好在/etc/profile.d¸‹创建自定义.sh文件> 相反。

例如,运行以下命令创建 custom_path_global.sh 文件并编辑它:

sudo gnome-text-editor /etc/profile.d/custom_path_global.sh

然后,如果目录存在,添加下面的行将执行相同的工作。并且,它将在下次登录时应用:

# Add custom PATH variables work for all users
if [ -d "/usr/lib/myapps/bin" ] ; then
    PATH="/usr/lib/myapps/bin:$PATH"
fi

概括

在本教程中,我教了如何将自定义文件夹或目录添加到 Ubuntu Linux 中的 PATH 变量中。

简而言之,用户可以运行 export PATH="/PATH/TO/CUSTOM/FOLDER:` PATH" 将自定义文件夹添加到仅适用于当前终端的 PATH 中。

或者,编辑 Debian/Ubuntu 的 .profile 或 Fedora 的 .bash_profile,并添加仅在当前用户下次登录时有效的类似行。同时,编辑 /etc/profile 或在 /etc/profile.d 下创建 .sh 文件可以为所有用户完成系统范围内的工作。

相关文章