Linux环境变量 - 课堂笔记总结1. 什么是环境变量定义在程序外部设置的变量由名称/值对组成VARIABLE_NAMEvalue用于存储shell会话和工作环境的信息。分类全局环境变量对shell会话和所有子shell可见局部环境变量只对创建它们的shell可见命名规范- 系统环境变量全大写字母如HOME、PATH- 用户自定义变量建议使用小写字母避免冲突2. 查看环境变量的命令env查看全局环境变量printenv查看全局环境变量可指定单个变量set查看所有变量环境变量 局部变量 函数定义查看单个变量printenv HOMEecho $HOME关键点引用变量用$如echo $HOME操作变量不用$如unset myvar3. 设置用户定义变量局部变量myvarHello WorldmyvarHello注意事项等号两边不能有空格字符串有空格需加引号全局变量环境变量myvarGlobal variableexport myvar或直接创建并导出export myvarGlobal variable关键特性子shell继承父shell的全局变量子shell修改变量不影响父shell单向传递4. 删除环境变量unset myvar验证是否删除echo $myvar5. PATH环境变量作用定义shell查找命令的目录列表冒号分隔查看当前PATHecho $PATH添加新目录到PATH临时生效PATH$PATH:/new/directory使脚本可直接运行chmod ux myscript.shPATH$PATH:$(pwd)myscript.sh注意对PATH的修改只在当前shell会话有效重启后失效。6. 定位系统环境变量启动文件登录shell启动文件加载顺序/etc/profile/etc/profile.d/*.sh$HOME/.bash_profile 或 $HOME/.bash_login 或 $HOME/.profile按顺序只执行第一个$HOME/.bashrc常用启动文件/etc/profile系统级所有用户登录时执行$HOME/.bash_profile用户级登录shell配置$HOME/.bashrc用户级交互式shell配置最常用7. 数组变量创建数组mytest(one two three)引用数组元素索引从0开始echo $mytest 显示第一个元素oneecho ${mytest[1]} 显示第二个元素twoecho ${mytest[*]} 显示所有元素one two three修改元素mytest[2]five删除元素unset mytest[1]删除整个数组unset mytest核心实践总结查看全局变量env 或 printenv查看所有变量set设置局部变量varvalue设置全局变量export varvalue删除变量unset var引用变量$var修改PATHPATH$PATH:/newdir关键理解父子shell继承关系- 父shell到子shell全局变量export可继承- 父shell到子shell局部变量不可继承- 子shell修改到父shell不受影响单向临时性通过命令行设置的环境变量在shell退出或系统重启后失效。持久化需将变量设置在启动文件中如~/.bashrc才能永久生效。课堂作业