您的位置:首页 > 运维架构 > Linux

Linux 环境变量说明-env/set/export

2011-12-06 10:55 483 查看
—--摘抄自鸟哥的私房菜- http://linux-vbird.bluedata.org/linux_base/0320bash.htm#variable
虽然

/article/7650975.html

/article/7795084.html

讲的也可以,但是关于linux变量的说法还是有些混乱。

还是按照鸟哥的说法来吧。

1. 变量就是以一组文字或符号等,来取代一些设定或者是一串保留的数据!

2. 变量分为环境变量和自订变量

环境变量例如 PATH、HOME、MAIL、SHELL等等,通常以大写字符来表示!

3. env

显示目前系统中主要的预设变量内容 ,这个指令主要在将目前系统中的主要变量读出来,不读取自订变量。

4. set

显示目前系统中全部的变量内容 。他除了会显示出目前的『环境变量』之外,也会显示出您的『自订变量』。

两段重要的话:

1. 使用 set 除了会将系统的默认值秀出来之外,连带的所有的你自己设定的变量也会被秀出来!同时需要注意的是,若当时有相当多人同时在在线的话,那么你的变量只能给自己使用(除非改的是系统的预设参数档,如 /etc/profile ),而不会干扰到别人的!就如同前面所说的,由于你登入 Linux 之后会取得一个 PID ,而你的设定将只对这个PID 与子程序有关!此外,这次登入所进行的变量设定,如果没有更动到设定档,那么这次设定的变量在下次登入时将被取消掉(因为程序
PID 不见啰!)!所以啰,如果你想要你的变量每次都能在你登入的时候自动就设定好了,那么就必须将你的设定写入登入时加载的设定档!

2. 当你取得一个 bash 之后,亦即得到了一个程序了,但是若你再次的执行一次 bash ,那么你将进入『子程序』,这个程序的概念我们在资源管理章节中再详谈,这里您先有个概念即可。那么由于您已经进入了该子程序,所以在父程序中的变量设定将不再继续的存在。如您想要让该变量内容继续的在子程序中使用,那么就请执行: export 变数!这个东西用在『引用他人的档案或者其它程序』时,相当的重要的!尤其像我常常两三个档案互相引用来引用去的,如果忘记设定
export 的话,那么不同的档案中的相同变量值,将需要一再地重复设定才行!所以,我只要在头一个档案使用 export 的话,那么后续的档案引用时,将会把该变量内容读进来!好用的很?如果仅下达 export 而没有接变量时,那么此时将会把所有的『环境变量』秀出来喔!也就是说, export可以将一般自订的变量变成环境变量!

/article/7795084.html中提到的例子,做了修改:

[oracle@zhou3 ~]$ aaa=bbb 		--自定义变量
[oracle@zhou3 ~]$ echo $aaa
bbb
[oracle@zhou3 ~]$ env| grep aaa 	--环境变量中没有
[oracle@zhou3 ~]$ set| grep aaa  	--set可以输出自定义变量
aaa=bbb
[oracle@zhou3 ~]$ export| grep aaa 	–-export自定义变量前,export本身不输出此值
[oracle@zhou3 ~]$ export aaa   		--用export 导出,将自订变量变成环境变量一下
[oracle@zhou3 ~]$ env| grep aaa  	--以后子程序也可用这个变量了
aaa=bbb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: