Linux环境变量

 

Linux环境变量

bash shell使用环境变量来存储shell回话和工作环境的信息,他允许您将数据存储在内存中以便在shell中运行的脚本或程序来访问。假如我们在写一个程序,在定义变量时,根据他的可见性,我们可以定义两种变量,即全局变量和局部变量,前者作用于整个程序,而后者则之能在其所定义的范围内可见。同样,linux的环境变量也是如此,也同样有局域的性的概念,即全局变量和本地变量,但他不是作用于程序内部,我们假设shell是一个很大的程序代码,全局变量则相当于是用extern声明的变量,在整个程序中可见,我们在shell中执行的程序就像shell调用一个函数一样,此时该函数内定义的变量就是本地变量。换句话说就是,全局变量所用进程都可访问,而本地变量则只有在定义他的进程中可见。

如何查看环境变量:
    查看变量: $printenv
        不同linux发行版本,其环境变量可能有所差异。
        若想仅查看某特定的变量的值,如HOME,用$表示引用,我们可以使用如下方式:
        $echo $HOME

    查看本地变量:
        $set
        使用set命令将显示本地进程所能看到的所有的环境变量,其中就包括了前面用printenv所列出的环境变量

设置环境变量:
    设置本地环境变量
        $test=testing
        这样就将test这个环境变量加入到了本地的环境变量中。我们可以用:
        $set | grep test
        来查看这个本地环境变量是否存在。
        设置的时候还要注意,假如我们些成了 test= testing, 他会把test=当成命令来解释,此时就会出现:bash: testing: command not found错误。   
        而如果些成了test = testing,则会出现bash: test: =: unary operator expected错误。(这条错误是什么意思,谁能解释解释?Thank U)
        写成test =testing则不会报错,但在本地环境变量中多出一个_==testing的东西。当然testing也不能包含空格,否则就和地一种情况相同了。
       
        若要指定带有空格的,则可以用单引号括起来,例如:
        $test=‘1 2 3 4 5’
        建议:在设置本地环境变量时,使用小写字母,这样可以与系统环境变量相区别。
        另外,设置好本地的环境变量之后,边可以在该shell的任何一个进程中见到他,但在其他shell中是不可见的。同样,如果子进程设置环境变量之后,离开子进程之后,该环境变量也是不可见的。
    设置全局环境变量
        设置全局环境变量的方法是,现设置一个本地的环境变量,然后用export将它到导出到全局环境变量中去。
        $test=testing
        $export test
        这样当我们在用printenv显示的时候就能看到test这条环境变量了,此时他就有了全局性。
环境变量的移除
    当我们想删除test这条环境变量的时候,可以使用:
    $unset test
变量数组
    环境变量也可以像数组那样,数组中的之可以独立,或整体使用。
    $echo $test=(1 2 3 4 5 6)
    直接引用test的时候则指挥成功引用起地一个值,当想引用第二个的时候则需要使用一个数值索引值
    $echo ${test[1]}
    注意,环境变量的的下标也是从0开始的.
    要显示所有的值,可以用*作索引值:
    $echo ${test[*]}
    在删除单一的值的时候也要注意,例如:
    $unset test[1]
    则只是将test[1]的值删除,但后面的值不变。
    此时在引用test[1]的时候将什么都没有,
    $echo ${test[1]}
   
    $
    $echo ${test[*]}
    1 3 4 5
    我们可以用unset test来将数组整个删除
    $unset test
    此时,test这条环境变量就不存在了。 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值