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

第1章 BashShell命令------------(设置环境变量)

2016-11-28 15:43 246 查看

1.6 使用Linux环境变量

1.6.1 设置环境变量

         bashshell使用一种称为环境变量的特性来存储关于shell会话和工作环境的信息。该特性允许将数据存储在内存中,以便于在shell中运行的程序或脚本访问它们。这是一种便捷的、用于存储持久性数据的方式,这些数据可以标识用户账户、系统、shell或任何需要存储的内容的特性。

         bashshell中共有两种类型非环境变量:全局变量本地变量

         1.全局环境变量

         全局环境变量在shell会话和该shell产生的任何子进程中都可见。Linux系统会在开始bash会话时设置一些全局环境变量。系统环境变量始终使用全大写字母来区别普通用户环境变量。查看全局环境变量,使用命令printenv命令。

         bashshell已设置了许多全局环境变量。其中大多数由系统在登录过程中设置。要显示某个环境变量的值,使用echo命令。当引用某个环境变量时,必须在环境变量名称前添加一个$符号。


     


        

   2.本地环境变量

         本地环境变量只在定义它们的本进程中可见。还没有任何命令可以只显示本地环境变量。set命令显示特定进程的所有环境变量。但是,这其中也包括全局环境变量。执行set命令如下:


          

         3.设置本地环境变量

         启动bash shell之后,能够创建在shell进程中可见的本地变量。可以为环境变量分配一个数值或字符串,方法是使用等号将变量指定为具体的值。当需要引用环境变量值时,只需通过在名称前加个$来引用它。

         如果要指定包含空格的字符串值,则需要使用单引号来指示字符的起始位置。如果没有单引号,bash shell将假定下一个字符是另一个要处理的命令。使用小写字母来定义本地环境变量,而目前为止出现的系统环境变量都使用了大写字母

         PS环境变量名称、等号和值之间没有空格。如果在其中添加了任何空格,bash shell会将值解释为一个单独的命令

         设置本地变量之后,可以在shell进程的任何地方使用它。但是,如果产生另一个shell,则不能在子shell中使用它。

         本地环境变量设置和使用实例如下:

        


         4.设置全局环境变量

         全局环境变量在任何由设置全局环境变量的进程创建的子进程中都可见。创建全局环境变量的方法是创建一个本地环境变量,然后在通过export将它导出到全局环境中。

         PS在导出本地环境变量时,不必使用$符号来引用变量命令

         export设置只对当前的bash登录session有效。这是存在内存里面的。可以写入文件一般的文件,之后source。如果只是使用export,本地环境变量在新的bash任然无法使用,操作实例如下:

        


         5.移除环境变量

         如果能够创建新的环境变量,可以通过unset命令来删除已有的环境变量。unset命令中引用环境变量时,不要使用$符号。

         在操作全局环境变量时,需要稍微使用一些技巧。如果在子进程中使用unset移除全局环境变量,则该操作只对进程有效。全局环境变量在父进程中仍然可用。

         操作实例如下:

              
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: