Linux 环境变量

分类: 编程
日期: 2022-01-16
浏览: 1239

如何在 Windows 下设置环境变量我们都不陌生,弹窗上面是用户环境变量,下面是系统环境变量。那么在 Linux 下如何设置环境变量呢?Linux 下设置环境变量相对复杂了一点,因为 Linux 下除了“系统-用户”这个维度外还有“系统-shell”这个维度。

Linux 环境变量相关的知识

系统可执行文件目录
  • /bin 系统可执行文件,一般会软链到 /usr/bin
  • /usr/bin 系统可执行文件,一般由系统预安装,或者使用 yumdnfapt-get 等安装的软件,会随着系统升级而改变。
  • /usr/local/bin 用户可执行文件,不会随系统升级而改变。

用户自己安装的或者直接解压缩的软件包,如果想要全局调用,那么需要在 /usr/bin 或者 /usr/local/bin 下创建软链,不二建议在 /usr/local/bin 下创建,这是个好习惯。

配置环境变量的相关文件

敲黑板内容:只有 login shell 启动时才会运行 /etc/profile/etc/profile.d 目录下的脚本,non-login shell 则不会。所以可能你在 /etc/profile 中添加了环境变量但是不生效,因为此时你打开的是 non-login shell,如果想要生效,在 shell 的配置文件中添加 source /etc/profile 即可。

  • /etc/profile所有用户设置环境变量和启动程序,用户可以有多个 shell 如 bash、zsh、ksh等,在此文件中添加环境变量可作用于所有终端,不过一般不直接修改此文件。
  • /etc/profile.d/etc/profile 配置文件的目录,加载 /etc/profile 时会扫描该目录下的 .sh 文件。类似于 /etc/nginx/nginx.conf/etc/nginx/conf.d
  • ~/.profile当前用户设置环境变量和启动程序。
  • /etc/bashrc所有用户初始化 bash 的设置。
  • ~/.bashrc当前用户初始化 bash 的设置。
  • export 可查看所有的环境变量。
  • echo $PATH 可查看所有添加到环境变量中的可执行文件(系统级、用户级、shell 级),环境变量之间使用 : 分隔。

此处是以 CentOS 为例,不同的系统下,文件路径和名称会略有不同,但都在 /etc 下。其它的 shell 找到自己对应的配置文件进行修改即可。

简单说明如何添加环境变量

  • export AAA=aaa 在当前 shell 中设置临时环境变量 AAA,重新打开 shell 后该环境变量失效。
  • ~/.bashrc 中添加 export AAA=aaa 在当前用户的 bash 中设置环境变量 AAA 值为 aaa
  • ~/.bashrc 中添加 export PATH=$PATH:bbb 在当前用户当前 shell 中把可执行文件 bbb(可执行文件的路径) 添加到环境变量中,多个环境变量用 : 分隔。

需要注意的是,修改了 ~/.bashrc 不会立即生效,需要重启 shell 或者执行 source ~/.bashrc

如何为所有用户添加环境变量,如何为当前用户所有终端添加环境变量等情况,自己去动手试试吧。

版权声明
作者:不二
来源:不二博客
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论
赶快发表评论吧~
发表评论