linux环境变量也成为Shell环境变量,习惯大写。
按生效的范围分类
按生存周期分类
env //查看所有环境变量
env | grep lan //用lan过滤环境变量
echo $PATH //查看变量值
path为可执行环境的搜索目录,可执行程序包括Linux系统命令和用户的应用程序
服务器的主机名
用户当前使用的Shell解析器
保存历史命令的条数
当前登录用户的名字
当前登录用户的主目录
当前工作目录
java语言库文件搜索的目录,它不是Linux缺省的环境变量,但对java程序员来说非常重要。
变量名='值'
export 变量名
或者
export 变量名='值'
如果环境变量的值中没有空格等特殊的字符,单引号可以不写
采用export配置的环境变量在退出Shell后环境变量将会失效。
系统环境变量对全部要用户都生效,设置系统环境有三种方法。需要root用户权限
用户登录时执行/etc/profile文件中设置系统的环境变量。但是不推荐使用
vi /etc/profile
export VAR='hello'
使用 env $VAR查看环境变量的值
cd /etc/profile.d
vi var.sh //新建打开脚本文件var.sh
export VAR='hello'
退出重新登录后,环境变量生效
env $VAR
该文件配置的环境变量将会影响全部用户使用的bash shell 。但是不建议使用
vi /etx/bashrc
export VAR='hello'
退出重新登录后,环境变量使用
env $VAR
在用户的主目录中,有几个特别的文件,用ls是看不见的,用ls.bash_*可以看见。设置用户环境变量有多种方法
当用户登录时执行,每个用户都可以使用该文件来配置专属自己的环境变量
source .bash_profile //使环境变量生效
当用户登录时以及每次打开新的Shell文件时,该文件都将会被读取,不推荐里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
当每次退出系统(退出bash shell)时执行该文件。
保存当前用户使用过的历史命令
环境变量脚本文件的执行顺序
/etc/profile --> /etc/profile.d --> /etc/bahrc --> 用户的.bash_profile --> 用户的.bashrc
如果同名的话,后面的环境变量会覆盖前面的环境变量
1.PATH环境变量存放的是目录列表,目录之间用冒号 : 分隔,最后的原点 . 表示当前目录
export PATH=目录1:目录2:目录3:......目录n:.
2.PATH缺省包含了linux系统命令所在的目录(/usr/local/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,linux的常用命令也无法执行(要输入绝对路径才能执行)。
3.在用户的.bash_profile文件中,会对PATH进行扩充
LANG环境变量存放的是linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对LANG的设置。
java语言库文件搜索的目录,他不是linux缺省的环境变量,但对java程序员来说很重要。
CLASSPATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。