环境
廖家龙 用心听,不照做

在shell会话调用环境期间,shell会存储大量的信息,程序使用存储在环境中的数据来确定我们的配置,尽管大多数系统程序使用配置文件来存储程序设置,但是也有一些程序会查找环境中存储的变量来调整自己的行为,用户可以使用环境来自定义shell

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

set命令会同时显示shell变量和环境变量,而printenv只会显示环境变量
printenv | less:

命令printenv也能够列出特定变量的值:

在使用set命令时,如果不带选项或参数,那么只会显示shell变量、环境变量以及任何已定义的shell函数,与printenv命令不同的是,set命令的输出结果是按照字母顺序排列的
set | less:

如需要查看单个变量的值,也可以使用echo命令

set命令和printenv命令都不能显示的一个环境元素是别名,要查看别名,需使用不带任何参数的alias命令

一些有趣的变量:

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




修改环境:

文本编辑器:

使用文本编辑器配置文件:所有的文本编辑器都可以通过在命令行输入编辑器名称和需编辑的文件名称的方式启动,如果输入的文件不存在,编辑器会认为用户想要创建一个新的文件

扩展名.bak、.sav、.old和.orig是常用的标示备份文件的方法

激活修改:因为只有在启动shell会话时才会读取.bashrc,所以对.bashrc做出的修改只有在关闭shell终端会话并重启的时候才会生效。也可以使用命令强制命令bash重新读取.bashrc文件

在shell脚本和bash启动文件中,注释是以“#”开头的