Xshell七

Xshell七 一、什么是环境变量环境变量是Linux系统中以键值对形式存储的配置信息用来记录系统状态、用户信息、程序运行路径等数据。它和普通变量最大的区别在于具备进程传递特性父Shell定义的环境变量会自动复制给所有衍生出来的子Shell进程各类软件、脚本运行时可以直接读取环境变量获取所需配置。与之相对的是仅当前会话可用的局部变量局部变量无法跨进程传递只有当前Shell能够访问。二、Shell默认自带内置环境变量系统登录后会自动加载一批预置环境变量无需用户手动创建是日常操作中高频使用的系统内置变量。USER变量记录当前登录系统的用户名HOME变量存储当前用户专属家目录路径PATH是命令检索路径决定系统去哪里查找可执行程序SHELL记录当前终端使用的Shell程序路径PWD实时显示当前所在工作目录。BASH_SUBSHELL用于判断子Shell的嵌套层级HISTFILE指定历史命令存放的隐藏文件路径PS1控制终端命令提示符的展示样式。我们可以直接使用echo命令单独打印任意一个内置变量输入env或者printenv可以一次性查看当前会话全部已加载的环境变量。三、系统全局环境变量与局部变量1.局部变量局部变量仅存在于创建它的当前Shell会话不会复制传递给任何子Shell进程子Shell内部无法读取父Shell定义的局部变量。同时子Shell内部新建的局部变量生命周期仅跟随子进程执行exit退出子Shell之后父Shell完全无法访问该变量。2.全局环境变量借助export命令可以将普通局部变量升级为全局环境变量父Shell导出后的环境变量所有由它衍生的子Shell都可以正常读取使用。这里存在一个单向传递的关键特性子Shell内部修改同名环境变量并且再次执行export导出修改仅会作用于自身以及子Shell再创建的后代进程不会反向修改父Shell内部的原始变量。退出子Shell回到父终端后变量依旧保持最初定义的原始数值。四、环境变量的创建与删除PATH变量1.临时创建环境变量临时环境变量仅在当前终端会话生效关闭窗口或者重新登录后配置直接失效。有两种创建方式 第一种分两步执行先定义局部变量再使用export导出第二种一步完成直接通过export命令赋值创建全局环境变量。2.删除环境变量unset命令可以销毁变量局部变量和环境变量都适用执行unset加上变量名称即可彻底清除当前会话内该变量后续无法再读取。3.PATH变量实操 PATH是系统核心环境变量系统执行外部命令时会按照PATH内记录的目录顺序依次检索对应的可执行文件。我们可以先通过echo查看系统原始PATH内容想要新增自定义程序目录有两种写法把自定义路径写在PATH前方检索时会优先匹配该目录下的程序写在PATH末尾则会最后检索该目录。临时添加的PATH重启终端后自动恢复原始状态如果需要永久生效需要修改系统环境配置文件。五、存放系统环境变量的配置文件环境变量配置文件分为系统级文件与用户级文件系统级文件对服务器内所有登录用户生效用户级文件仅作用于当前登录账号用户级配置优先级高于系统配置。系统级文件包含/etc/profile用户登录系统时自动加载存放全用户通用环境配置/etc/bashrc任意打开Shell终端都会加载定义公共函数与全局别名/etc/profile.d目录下存放分片配置脚本系统新增环境变量可以单独创建sh文件放置此处。用户级专属文件仅当前用户生效~/.bash_profile只在登录Shell启动时加载~/.bashrc在每一次新开终端窗口都会加载适合存放个人自定义别名、私有环境变量~/.bash_logout会在用户执行exit退出终端时执行用于会话清理操作。永久配置环境变量的实操步骤使用vim编辑~/.bashrc文件按下i进入插入模式在文件末尾写入export导出语句编辑完成后按Esc输入:wq保存退出编辑器输入source ~/.bashrc刷新配置无需重启终端即可立刻生效。六、Shell数组变量数组可以一次性存储多组字符串数据课堂配套四项操作练习完整流程如下1创建多元素数组直接使用括号包裹多个成员完成初始化使用echo搭配符号可以打印数组内全部成员也可以通过逐个指定下标赋值的方式创建数组。2修改数组指定成员输入数组名加上对应下标重新赋值打印数组即可看到修改后的全部内容。3删除单个数组成员使用unset搭配数组下标只会清除对应位置的元素数组其余内容保留。4删除整个数组直接unset加上数组名称数组内所有数据全部销毁再次打印数组不会输出任何内容。七、成果截图