(014) Linux之环境

十年运维系列之基础篇 - Linux

作者:曾林 

联系:[email protected]

网站:www.jplatformx.com

版权:文章未经同意请勿转载


一、引言

      在shell会话调用环境期间,shell会存储大量的信息。有一些程序会查找环境中存储的变量来调整自己的行为。知道了这一点之后,用户就可以使用环境来自定义shell。

 

二、环境中存储的是什么

      尽管shell在环境中存储了两种基本类型的数据,但是在bash中,这两种类型基本上没有区别。这两种数据类型分别是环境变量和shell变量。shell变量是由bash存放的少量数据,环境变量就是除此之外的所有其他变量。除变量之外,shell还存储了一些编程数据,也就是别名和shell函数。

      要了解环境中存储的内容,需要用到集成在bash中的set命令或者printenv程序。不同的是,set命令会同时显示shell变量和环境变量,而printenv只会显示环境变量。

      set命令截图如下(其中包括环境变量和shell变量):

技术分享

       printenv命令截图(只包括环境变量):

技术分享

      环境变量中包含了相当多的变量,下表展示了一些常用的有趣的环境变量。

变量 说明
SHELL 本机shell名称
HOME 本机主目录的路径名
LANG 定义了本机语言的字符集和排序规则
OLD_PWD/PWD 先前的工作目录/当前的工作目录
PATH 以冒号分隔的一个目录列表,当用户输入一个可执行程序的名称时,会查找该目录列表
PS1 提示符字符串1.定义了本机shell系统提示符的内容。
TERM 终端类型的名称。类UNIX系统支持很多种终端协议;此变量定义了本机终端模拟器使用的协议
USER 用户名

 

三、环境是如何建立的

      用户登录系统之后,bash程序就会启动并读取一系列称为启动文件的配置脚本,这些脚本定义了所有用户共享的默认环境。接下来,bash会读取更多存储在主目录下的用于定义个人环境的启动文件。这些步骤执行的确切顺序是由启动的shell会话类型决定的。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。