欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux设置和查看环境变量的方法

程序员文章站 2023-11-14 23:05:52
linux 查看环境变量与设置环境变量在使用过程中很常见,本文整理了一些常用的与环境变量相关的命令,感兴趣的朋友可以参考下希望对你有所帮助... 13-04-08...
1. 显示环境变量home
$ echo $home
/home/redbooks

2. 设置一个新的环境变量hello
$ export hello="hello!"
$ echo $hello
hello!

3. 使用env命令显示所有的环境变量
$ env
hostname=redbooks.safe.org
pvm_rsh=/usr/bin/rsh
shell=/bin/bash
term=xterm
histsize=1000
...

4. 使用set命令显示所有本地定义的shell变量
$ set
bash=/bin/bash
bash_versinfo=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
bash_version='2.05b.0(1)-release'
colors=/etc/dir_colors.xterm
columns=80
dirstack=()
display=:0.0
...

5. 使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为null。示例如下:
$ 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
环境变量的设置位于/etc/profile文件
如果需要增加新的环境变量可以添加下属行
export path=$path:/path1:/path2:/pahtn
-----------------------------------------------------------------------------------------------------------------------
1.linux的变量种类
按变量的生存周期来划分,linux变量可分为两类:
1.1 永久的:需要修改配置文件,变量永久生效。
1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。

2.设置变量的三种方法
2.1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用vi在文件/etc/profile文件中增加变量,该变量将会对linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加classpath变量
# vi /etc/profile
export classpath=./java_home/lib;$java_home/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2.2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用vi在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export classpath=./java_home/lib;$java_home/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
2.3 直接运行export命令定义变量【只对当前shell(bash)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(bash)或其子shell(bash)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

3.环境变量的查看
3.1 使用echo命令查看单个环境变量。例如:
echo $path
3.2 使用env查看所有环境变量。例如:
env
3.3 使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。

4.常用的环境变量
path 决定了shell将到哪些目录中寻找命令或程序
home 当前用户主目录
histsize 历史记录数
logname 当前用户的登录名
hostname 指主机的名称
shell 当前用户shell类型
languge  语言相关的环境变量,多语言可以修改此环境变量
mail 当前用户的邮件存放目录
ps1 基本提示符,对于root用户是#,对于普通用户是$