Administrator
发布于 2025-03-06 / 15 阅读
0
0

linux 配置环境变量 PATH

PATH变量,指定了程序搜索路径,是最重要的环境变量,它定义了系统在执行命令时搜索可执行文件的目录。

本文介绍了配置 PATH 的常用方法,以及使用 ln、alias 的方式配置命令。

一、临时添加到当前会话

在当前会话中使用 export 命令来临时添加路径。

例如,将/path/to/your/directory 添加到 PATH 环境变量中:

export PATH=$PATH:/path/to/your/directory
# 示例
export PATH=$PATH:/usr/local/node-v14.16.1-linux-x64/bin

这个命令只会影响当前打开的终端会话。如果关闭终端重新打开,这个改动将不会保留。

二、修改用户的 shell 配置文件(推荐)

对于长期添加,你可以修改用户的 shell 配置文件。这取决于你使用的是哪种 shell(如 bash、zsh 等)

对于 bash 用户:

1、打开 ~/.bashrc 文件,在文件末尾添加以下行:

export PATH=$PATH:/path/to/your/directory

2、保存并关闭文件。重启终端,或者可以通用运行以下命令使改动生效。

source ~/.bashrc

三、修改全局配置文件

如果你希望所有用户都拥有这个环境变量设置,你可以修改全局配置文件。但请注意,通常不推荐这样做,除非确实需要。对于大多数用户来说,修改用户的 shell 配置文件就足够了。

1、修改/etc/profile/etc/bash.bashrc (对于 bash)

export PATH=$PATH:/path/to/your/directory

重启终端或者使用 source 命令使改动生效。

2、修改 /etc/environment (第二种方式、不推荐)

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/path/to/your/directory"

不推荐。environment 不支持 export 命令,只能用 PATH。

系统启动时读取,可以重启 linux 系统生效。或者使用 source 命令使改动生效。

四、题外话

1、查看所有可以使用的 shell、当前使用的 shell

cat /etc/shells

echo $SHELL

2、bash 各个配置的调用顺序(执行时机)

以 阿里云 CentOS7 为例,使用 bash 作为 shell。

交互式登录完成后执行:

  • /etc/profile

  • /etc/profile 中引入 /etc/profile.d 执行

/etc/profile 登陆过后全局生效,相当于全局变量。

登陆完打开交互式 shell 时执行:

  • ~/.bash_profile 脚本引入 ~/.bashrc 脚本执行

  • ~/.bashrc 执行 /etc/bashrc

  • /etc/bashrc 会执行 /etc/profile.d 文件夹下面的 shell 脚本

bash 相关脚本的配置相当于方法内的局部变量,退出 shell 后失效。

在实际使用中,通过工具(如 Xshell、PuTTY 等)连接服务器时,交互式登录和启动交互式 shell 的过程几乎是同时发生的,因此 /etc/profile 和 ~/.bashrc 的加载看起来几乎是“无缝衔接”的。

3、ln 软链接命令到已有的 PATH 目录中(推荐)

如果安装软件使用的命令比较少,可以用软链接到 /usr/bin 下。

ln -s /usr/local/node-v14.16.1-linux-x64/bin/trz /usr/bin/trz
ln -s /usr/local/node-v14.16.1-linux-x64/bin/tsz /usr/bin/tsz

4、alias 定义命令

修改配置,比如修改 ~/.bashrc。

alias python='/usr/local/bin/python3.8'

alias 优先级比环境变量 PATH 高。执行 source 使改动生效。


评论