Linux Shell全局/局部环境变量、PATH、启动脚本与数组变量
一、环境变量相关知识1. Linux系统依靠环境变量保存系统运行过程中的各类环境信息Shell环境变量可以划分为局部环境变量与全局环境变量两大类。局部环境变量的作用域仅限于当前开启的Shell会话只能在当前终端进程内访问由当前Shell创建的子Shell进程无法读取到局部变量全局环境变量也叫导出型环境变量局部变量经过导出声明之后就升级为全局环境变量不仅当前Shell可以使用由当前Shell创建出来的所有子Shell进程都能够继承并读取这个变量。系统提供了不同命令用来区分查看局部变量、全局环境变量也可以使用命令对已经定义完成的变量进行删除操作。2. 用户可以根据自身需求创建属于自己的局部环境变量和全局环境变量按照生效周期可以分为临时变量和永久变量。临时自定义变量仅在当前终端会话中有效一旦终端关闭或者开启新的会话变量就会消失如果希望自定义变量长期有效就需要把变量的定义语句写入Shell启动配置文件中实现每次打开终端自动加载变量。3. PATH是Linux系统中最为关键的环境变量它专门用来定义bash shell检索可执行命令时的目录查找顺序。PATH内部由多个目录地址组成不同目录之间使用冒号进行分隔。当我们在终端输入一条命令按下回车后bash会按照PATH记录的目录顺序逐个查找对应的可执行程序如果在某个目录找到目标程序就直接运行如果遍历完所有目录都没有找到对应的可执行文件终端就会提示命令未找到。用户可以根据自身需求临时修改PATH变量也可以通过配置文件永久追加自定义脚本目录到PATH中。4. bash shell在启动交互式终端会话时会自动依次读取并执行一系列专属的启动文件其中 ~/.bashrc 是针对单个普通用户最常用的启动配置文件每次打开一个全新的bash终端窗口时系统都会自动加载此文件。我们可以把自定义环境变量、命令别名等配置写入这个启动文件这样每一次开启新的bash会话系统都会自动加载我们预设好的环境变量。直接修改启动文件之后新的配置不会立刻在当前终端生效有两种解决方式一是关闭当前终端重新登录开启新会话二是使用配置加载命令让当前终端立刻读取更新后的配置内容。二、数组变量相关知识bash shell支持数组变量Shell中默认使用一维数组数组元素的下标从数字0开始计数。我们可以一次性声明并初始化包含多个元素的数组也可以单独利用下标为数组某一个位置赋值。在使用数组时既可以根据下标单独读取数组里某一个指定元素也可以一次性取出数组内部所有的元素同时还可以获取数组中存储元素的总个数。除此之外我们可以结合循环结构依次取出数组中的每一个元素进行遍历处理实现批量操作数组数据满足Shell脚本中批量存储和处理一组同类数据的需求。