第五部分 使用Linux环境变量

来源:互联网 发布:php use 之后继承类 编辑:程序博客网 时间:2024/05/21 17:24

本章内容

  1. 什么是环境变量

  2. 设置环境变量

  3. 删除环境变量

  4. 默认shell环境变量

  5. 设置PATH环境变量

  6. 定位系统环境变量

  7. 可变数组

  8. 使用命令别名

 

在Linux系统上有很多地方可以设置环境变量,了解去哪里设置环境相应的环境变量很重要。

 

5.1 什么是环境变量

    ​bash shell用一个称作环境变量的特性来存储有关shell会话和工作环境的信息。它允许你再内存中存储数据,以便运行在shell上的程序和脚本访问。

    ​在bash shell中,环境变量分为两种:

    ​    ​<1>全局变量

    ​    ​<2>局部变量

    ​注意:尽管bash shell使用一致的专有环境变量值,但不同的Linux发行版经常会添加它们自有的环境变量。

 

    ​5.1.1 全局环境变量

    ​    ​全局环境变量不仅对shell会话可见,对所有shell创建的子进程也可见。局部变量则只对创建它们的shell可见。

    ​    ​系统环境变量一律使用全大写字母以区别于普通用户的环境变量。

    ​    ​查看全局变量,可用printenv或env命令

    ​    ​$env | head    ​    ​ORBIT_SOCKETDIR=/tmp/orbit-dsm        HOSTNAME=localhost.localdomain        IMSETTINGS_INTEGRATE_DESKTOP=yes        SHELL=/bin/bash        TERM=xterm        HISTSIZE=1000        XDG_SESSION_COOKIE=cd9507732763290cc6e8614700000058-1366816714.182117-1120993564        GTK_RC_FILES=/etc/gtk/gtkrc:/home/dsm/.gtkrc-1.2-gnome2        WINDOWID=31457284        QTDIR=/usr/lib/qt-3.3

    ​    这里只显示开始10行。如你所见,系统为bash shell设置了很多全局环境变量。它们中的大部分都是系统在用户登录系统时设置的。

    ​    要显示单个环境变量的值,可用echo命令。

        当引用环境变量时,必须在环境变量的名称前放置一个$符:

$echo $HOME/home/user

    ​    正如前面提到的,全部环境变量在当前shell会话的子进程中也是可见的:

$bash$echo $HOME/home/user

    ​在这个例子中,用bash命令启动一个新的shell后,显示了HOME环境变量的当前值,这个值是在你登录进主shell时设定的。当然,这个值在子shell进程中依然是存在的。

 

    ​    ​