十二. Linux系统的环境变量的功能

原创 2016年06月01日 10:20:12

1.  查看当前所有环境变量的命令: env  和 export,set, declare 。env  和 export两个命令列出的环境变量一样,不过export有其他额外的功能。

2.  系统中一些重要的环境变量:

(1)HOME : 代表使用者的家目录。我们可以使用 #cd  ~ 去到使用者的家目录,或者利用 cd就可以直接回到使用者家目录了 有很多程序都可能会取用到这个变量的值。


(2)SHELL : 告知我们,目前这个环境使用的 shell是哪个程序,如果是 bash 的话,预设是/bin/bash  。

(3)HISTSIZE : 这个与『历史命令』有关,亦即是, 我们曾经下达过的指令可以被系统记录下来,而记录的『笔数』则是由这个值来设定的。

(4)MAIL : 当我们使用 mail 这个指令在收信时,系统会去读取的邮件信箱档案 (mailbox)。

(5) PATH : 就是执行文件搜寻的路径,目录与目录中间以冒号(:)分隔, 由于档案的搜寻是依序由 PATH 的变量内的目录来查询,所以,目录的顺序也是重要的喔。

(6)LANG : 这个重要!就是语系档案啰~很多数据都会用到他, 举例来说,当我们在启动某些 perl的程序语言档案时,他会主动的去分析语系数据文件, 如果发现有他无法解析的编码语系,可能会产生错误喔!一般来说,我们中文编码通常是 zh_TW.Big5 或者是 zh_TW.UTF-8,这两个编码偏偏不容易被解译出来,所以,有的时候,可能需要修订一下语系数据。

(7)RANDOM : 这个玩意儿就是『随机随机数』的变量啦!目前大多数的 distributions 都会有随机数产生器,那就是 /dev/random 这个档案。 我们可以透过这个随机数档案相关的变量 ($RANDOM)来随机取得随机数值喔。在 BASH 的环境下,这个 RANDOM 变量的内容,介于 0~32767 之间,所以,你只要 echo $RANDOM 时,系统就会主动的随机取出一个介于 0~32767 的数值。万一我想要使用 0~9 之间的数值呢?呵呵~利用 declare 宣告数值类型, 然后这样做就可以了。
# declare  -i  number=$RANDOM*10/32767  ;  echo  $number
8         <== 此时会随机取出 0~9 之间的数值喔。

3.  set 命令查看所有变量,包括环境变量和自定义变量

4. 特殊变量:

(1)$ :(关于本 shell 的 PID)


(2)? :(关于上个执行指令的回传码)『上个执行的指令所回传的值』, 上面这句话的重点是『上一个指令』与『回传值』两个地方。当我们执行某些指令时, 这些指令都会回传一个执行后的代码。一般来说,如果成功的执行该指令,则会回传一个 0 值,如果执行过程发生错误,就会回传『错误代码』才对!一般就是以非为 0 的。
                                       

5.  自定义变量转成环境变量命令: export 

(1)自定义变量与环境变量的区别就在于可否被子进程所引用。

(2)当我们登入 Linux 并取得一个 bash 之后, 你的 bash 就是一个独立的程序, 被称为 PID 的就是。 接下来你在这个 bash 底下所下达的任何指令都是由这个 bash 所衍生出来的, 那些被下达的指令就被称为子程序了。 我们可以用底下的图示来简单的说明一下父程序与子程序的概念:


(3)如上所示, 我们在原本的 bash 底下执行另一个 bash , 结果操作的环境接口会跑到第二个 bash 去(就是子程序) , 那原本的 bash 就会在暂停的情况 (睡着了, 就是 sleep) 。 整个指令运作的环境是实线的部分! 若要回到原本的 bash 去, 就只有将第二个 bash 结束掉 (下达 exit 或 logout) 才行。

(4)因为子程序仅会继承父程序的环境变量, 子程序不会继承父程序的自定义变量啦,所以你在原本 bash 的自定义变量在进入了子程序后就会消失不见, 一直到你离开子程序并回到原本的父程序后, 这个变量才会又出现。

(5)换个角度来想, 也就是说, 如果我能将自定义变量变成环境变量的话, 那就可以让该变量值继续存在于子
程序了。故执行: #export   变量名称

6.  变量的有效范围:环境变量可以被子进程引用,自定义变量则不可以。

     环境变量=全域变量
     自定义变量=区域变量

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【linux系统】 关于环境变量的设置

一、在控制台中,用命令行设置*(1)设置局部环境变量:***test=test:设置test局部环境变量,在这个shell进程内可见。设置了局部环境变量,能在shell进程的任何地方使用它,但是,如果...

Linux系统下三种配置环境变量的方法

Linux操作系统下三种配置环境变量的方法 现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法。 ...

关于linux系统环境变量的一点理解

使用linux系统难免会用到添加更改环境变量的操作,下面针对添加环境变量用到的知识点做一些简单总结。A-> PATH=~/test:$PATH B-> PATH=$PATH:~/test...
  • cvMat
  • cvMat
  • 2017年06月18日 15:27
  • 220

在linux系统中配置java环境变量的三种方法

1.修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc...

linux系统环境变量及用户环境变量的配置

linux环境变量和Windows的环境变量一样,分系统环境变量和用户环境变量,系统环境变量对所有用户有效,而用户环境变量只对当前用户有效,下面以jdk为例进行两种环境变量的配置。 1.系统环境变量配...

Linux环境变量-在linux系统下.doc

  • 2011年09月02日 00:24
  • 25KB
  • 下载

Linux系统安装JDK1.7,并配置环境变量

Linux系统安装JDK1.7,并配置环境变量

C获取linux系统环境变量方法(Environment Variables)

主要有三种方法,都很简单。 1 一个单纯c语言获取的方式 #include #include int main(){ char *pathvar = getenv("PATH");...
  • sole_cc
  • sole_cc
  • 2014年12月28日 14:55
  • 1243

Windows、Linux系统安装JDK配置Java环境变量

http://www.cnblogs.com/lioillioil/archive/2011/09/14/2176595.html 一、Windows系统安装JDK   1、准备JDK安装程序,可...

MV命令 及如何在linux系统中设置环境变量

mv命令、环境变量设置
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十二. Linux系统的环境变量的功能
举报原因:
原因补充:

(最多只允许输入30个字)