第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移除全局环境变量,则该操作只对进程有效。全局环境变量在父进程中仍然可用。
操作实例如下:
相关文章推荐
- 第1章 BashShell命令------------(默认的shell环境变量与path变量的设置)
- 第1章 Java基本概念及环境配置——FAQ1.14 JDK安装时设置PATH和CLASSPATH环境变量有何作用?
- Linux下设置环境变量命令--export
- JDK环境变量设置及javac不是内部命令错误处理
- 设置环境变量永久生效和临时生效 export PS1(另外中有对source命令的解释)
- DOS下用于设置、修改和查看环境变量的命令之一
- linux环境变量设置 以及 source命令
- “SET 命令设置的环境变量在 FOR 循环中始终为空”问题的原因与解决方法
- Java CMD 命令设置系统环境变量(windows)
- linux export命令参数及用法详解--linux设置环境变量命令
- Centos设置环境变量PATH后很多命令无法用的恢复方法
- 使用set命令设置环境变量
- linux export命令参数及用法详解--linux设置环境变量命令
- 常用命令及系统环境变量的设置——脚本文件
- SET命令--环境变量设置
- 实现uboot 命令自动补全 及 修正设置环境变量时自启动内核
- ORACLE RAC中grid和oracle中环境变量设置和相关命令使用原则
- Linux下环境变量的设置-export命令
- Qt在打开XCode命令及环境变量设置
- 黑马程序员_常用的DOS命令及临时设置环境变量