文章目录
一、设置变量的四种方法(一)在 /etc/profile 文件中添加变量(二)在用户目录下的 .bash_profile 文件中添加变量(三)使用命令 export 声明定义变量(四)使用命令 declare 声明定义变量二、查看环境变量(一)使用命令 echo 显示单个环境变量的值(二)使用命令 env 显示所有的变量(三)使用命令 export 显示所有的环境变量三、清除环境变量四、设置只读变量五、Linux 的变量种类(一)永久的(二)临时的六、常用的环境变量一、设置变量的四种方法
(一)在 /etc/profile 文件中添加变量
在文件/etc/profile
文件中增加变量,该变量将会对所有用户有效,并且是“永久的”。如果需要修改变量的值可以参考下面的输出变量格式:
export PATH=$PATH:/path1:/path2:/pahtN
例如,编辑/etc/profile
文件,添加CLASSPATH
变量:
# vi /etc/profileexport CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改文件后要想马上生效还要运行:
# source /etc/profile
关于命令 export 的用法,详见《Linux命令之 – export 设置/显示系统环境变量》。
(二)在用户目录下的 .bash_profile 文件中添加变量
在用户目录下的.bash_profile
文件中增加变量,仅会对当前用户有效,并且是“永久的”。
例如,编辑 guok 用户目录/home/guok
下的.bash_profile
:
$ vi /home/guok/.bash.profileexport CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改文件后要想马上生效就要执行下该配置文件,不然只能在该用户下次登录后才生效:
$ source /home/guok/.bash_profile
(三)使用命令 export 声明定义变量
在 shell 的命令行下直接使用命令 export 声明定义变量,该变量只在当前的 shell或其子 shell 下是有效的,shell 关闭了,变量也就失效了,再打开新 shell 时就没有这个变量,需要使用的话还需要重新定义。
声明定义一个临时变量 HELLO,如下所示:
export HELLO="Hello!"
注意:等号左右两边不允许出现空格!
(四)使用命令 declare 声明定义变量
但 declare 声明定义的变量仅能在当前 shell 环境中起作用,切换 shell 环境后将无效。
二、查看环境变量
(一)使用命令 echo 显示单个环境变量的值
[root@htlwk0001host /]# echo $PATH
(二)使用命令 env 显示所有的变量
[root@htlwk0001host ~]# envHOSTNAME=PVM_RSH=/usr/bin/rshShell=/bin/bashTERM=xtermHISTSIZE=1000...
(三)使用命令 export 显示所有的环境变量
[root@htlwk0001host ~]# exportdeclare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"declare -x HELLO="hello!"declare -x HISTCONTROL="ignoredups"declare -x HISTSIZE="1000"...
三、清除环境变量
使用 unset 命令来清除环境变量。set 可以设置某个环境变量的值。清除环境变量的用 unset 命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..." # 增加一个环境变量TEST$ env|grep TEST # 此命令有输出,证明环境变量TEST已经存在了,grep相当于是筛查器,筛查出含有关键词“TEST”的条目TEST=Test...$ unset $TEST # 删除环境变量TEST$ env|grep TEST #此命令没有输出,证明环境变量TEST已经不存在了
四、设置只读变量
使用 readonly 命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST$ readonly TEST #将环境变量TEST设为只读$ unset TEST #会发现此变量不能被删除-bash: unset: TEST: cannot unset: readonly variable$ TEST="New" #会发现此也变量不能被修改-bash: TEST: readonly variable
五、Linux 的变量种类
按变量的生存周期来划分,Linux 变量可分为两类:
(一)永久的
需要修改配置文件,变量永久生效。
(二)临时的
使用 export 命令声明定义的变量,变量在关闭 shell 时失效。
六、常用的环境变量
PATH
决定了shell 将到哪些目录中寻找命令或程序
HOME
当前用户主目录
HISTSIZE
历史记录数
LOGNAME
当前用户的登录名
HOSTNAME
指主机的名称
SHELL
当前用户Shell类型