linux全套 | Linux的环境变量 | 17
常用的环境变量
linux环境变量也称之为Shell环境变量,也遵循标识符规范,但是习惯上使用大写字母,例如PATH,JAVA_HOME,LANG等.
查看环境变量
env 查看当前用户的全部环境变量
使用env命令的时候,满屏显示了很多环境变量,不方便查看,可以使用grep筛选.
env | grep PATH
echo $环境变量名字 输出指定的环境变量
设置环境变量
(1)
变量名='值'
export 变量名
(2) 推荐下面这种写法
export 变量名='值'
说明: 如果环境变量的值没有空格等特殊符号,可以不用单引号包含.
注意: 如果采用export设置的环境变量,在退出Shell后就会失效,下次登录需要重新设置. 如果希望环境变量永久生效,需要在登录脚本文件中配置.
下面以配置Python环境为例子
cd /etc/profile.d 进入全局环境变量的脚本目录
vim python3.sh 编写环境变量的脚本
=====python3.sh=====
export PYTHON_HOME=/opt/python3.7
export PATH=${PYTHON_HOME}/bin:$PATH
====================
source /etc/profile 更新全局的配置脚本
系统环境变量
系统环境变量对全部的用户生效,设置系统环境变量有三种方法.
- 在
etc/profile文件中设置(不推荐)
用户登录时执行/etc/profile文件中的设置系统的环境变量.
但是,linux不建议在/etc/profile中设置系统环境变量.
- 在
/etc/profile.d目录中增加环境变量脚本文件.这是linux推荐的方法
/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件.
/etc/profile.d比/etc/profile好维护,不想要变量直接删除对应的.sh文件即可.
/etc/bashrc文件中设置环境变量
该文件配置的环境变量会影响全部用户使用bash shell.
但是linux也不建议在/etc/bashrc中设置系统环境变量.
用户环境变量
.bash_profile(推荐)
当用户登录时执行,每个用户都可以使用该文件来配置专属自己的环境变量.
.bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取.
不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响.
.bash_logout
当每次退出系统(退出bash shell)时执行该文件.
.bash_history
保存了当前用户使用过的历史命令.
重要的环境变量的详解
PATH环境变量
可执行程序的搜素目录,可执行程序包括linux系统命令和用户的的应用程序.
如果可执行程序的目录不在PATH指定的目录中,执行是需要执行目录.
-
PATH环境变量存放的是目录列表,目录之间用冒号:分隔(类似windows的分号) -
PATH默认包含了linux系统命令的所在目录/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin, 如果不包含这些目录,linux的常用命令也无法执行(需要输出绝对路径才能执行) -
如果
PATH最后没有加:.,那么执行当前目录下的程序需要加./或使用绝对路径. -
对
PATH进行扩充的例子export PATH=$PATH:$HOME/bin
环境变量的生效
-
在
Shell下,用export设置的环境变量对当前的Shell立即生效,Shell退出后失效 -
在脚本文件中设置的环境变量不会立即生效,退出
Shell后重新登录,或使用source 配置脚本
应用经验
虽然设置环境变量的方式有多种,但是建议系统环境变量在/etc/profile.d中进行配置,用户环境变量在~/.bash_profile, 不建议在其他脚本中配置环境变量,会增加运维的麻烦,容易出错.

浙公网安备 33010602011771号