1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
(1) 永久的:需要修改配置文件,变量永久生效。
(2) 临时的:使用export命令声明即可,变量在关闭shell时失效。
2.显示某个环境变量
echo $HOME
3.设置一个新的环境变量(临时的)
export hello="hello"
4.使用env命令显示所有环境变量
[root@localhost test]# env
XDG_VTNR=1
XDG_SESSION_ID=2
SSH_AGENT_PID=3174
HOSTNAME=localhost.localdomain
rvm_bin_path=/home/test/.rvm/bin
IMSETTINGS_INTEGRATE_DESKTOP=yes
GEM_HOME=/home/test/.rvm/gems/ruby-2.3.0
GPG_AGENT_INFO=/run/user/1000/keyring/gpg:0:1
SHELL=/bin/bash
VTE_VERSION=3804
XDG_MENU_PREFIX=gnome-
TERM=xterm-256color
HISTSIZE=1000
5. 使用set命令显示所有本地定义的Shell变量
对应的使用unset命令来删除环境变量,例如:
$ export TEST="Test..." #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset $TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了
6. 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable
7.第2点中说了创建临时变量,如果要创建永久变量需要在/etc/profile文件中创建
使用这个文件时需要注意:(1)只有root权限才能修改(2)它是只读文件
8.还有一种创建环境变量的方式,就是在/etc/profile.d/文件下创建一个shell脚本,这个脚本里面的环境变量对所有用户生效。
比如创建了/etc/profiles.d/script.sh,需要执行一下这个脚本:source /etc/profile.d/script.sh里面的环境变量才能生效。
9.常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$