(014) Linux之环境
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
在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会话类型决定的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。