linux shell
Linux环境变量&数组变量 CSDN博客完整范文(可直接复制发布)
文章标题:Linux Shell环境变量、PATH变量、启动配置文件与数组变量超全总结(附实操演示)
一、前言
本文系统梳理Linux bash shell环境变量核心知识点,包含概念解析、常用命令、命令参数详解、知识体系架构,搭配实操练习步骤与运行截图说明,适合Linux入门学习者搭建知识体系。
二、核心知识点一:环境变量基础概念
1. 环境变量定义
环境变量是Linux系统中存储系统运行配置、会话参数、路径信息的键值对变量,分为全局环境变量(所有Shell会话/进程生效)、局部自定义变量(仅当前Shell终端生效),用于给Shell、程序提供运行时配置参数。
2. PATH环境变量(重点)
概念理解
PATH是最核心的系统环境变量,定义bash shell查找可执行命令时的目录搜索顺序:当你输入ls、cd、mkdir等命令时,Shell会按照PATH变量里罗列的目录依次查找对应的可执行程序,找到后执行,找不到则提示command not found。
目录之间用英文冒号:分隔
优先级:排在前面的目录会优先检索
常用操作命令&参数
命令用途主要参数/用法示例echo $PATH查看当前PATH变量内容直接执行,打印所有搜索目录PATH=$PATH:/新目录临时追加目录到PATH(当前终端生效)PATH=$PATH:/home/test/binexport PATH=$PATH:/新目录导出为全局临时环境变量追加后子Shell也可使用vim ~/.bashrc永久修改PATH(当前用户永久生效)文件末尾添加export PATH=$PATH:/xxx,执行source ~/.bashrc重载vim /etc/profile系统全局永久PATH修改(所有用户)修改后source /etc/profile生效三、核心知识点二:bash Shell启动文件(环境变量加载配置文件)
概念理解
bash Shell在登录/启动终端时,会自动读取执行一系列启动配置文件,在文件中预设环境变量、别名、自定义脚本,为每一个bash会话初始化标准环境变量、个性化配置。
分类与加载顺序
登录Shell(ssh登录、tty终端登录)加载顺序
/etc/profile(系统全局)→ /etc/profile.d/*.sh → ~/.bash_profile → ~/.bash_login → ~/.profile → ~/.bashrc
非登录Shell(桌面打开终端):仅加载 ~/.bashrc
关键文件说明
/etc/profile:系统级全局配置,所有登录用户都会加载,配置系统公共环境变量
~/.bashrc:当前用户私有配置,每次打开新终端都会加载,常用来自定义别名、个人PATH
~/.bash_logout:退出Shell时执行,可配置退出清理脚本
重载配置命令
# 修改启动文件后不用重启终端,重载生效
source 配置文件名
# 示例:重载.bashrc
source ~/.bashrc
四、核心知识点三:Shell数组变量的使用
1. 概念理解
bash支持一维索引数组,可以存储一组同类型数据,下标从0开始计数,用于批量管理多个数据(批量文件名、参数列表等场景)。
2. 数组常用命令、语法与参数
(1)数组定义
# 方式1:直接赋值定义
arr=("张三" "李四" "王五")
# 方式2:逐个下标赋值
arr[0]=apple
arr[1]=banana
(2)数组读取操作
语法用途示例${arr[下标]}读取指定下标元素echo ${arr[0]}${arr[@]}读取数组所有元素(遍历推荐)echo ${arr[@]}${arr[*]}所有元素合并为一个字符串echo ${arr[*]}${#arr[@]}获取数组元素总长度echo ${#arr[@]}${!arr[@]}获取数组所有下标echo ${!arr[@]}(3)数组修改/删除
# 修改指定下标元素
arr[2]=orange
# 删除某个元素
unset arr[1]
# 删除整个数组
unset arr
(4)数组循环遍历实操
# for循环遍历数组
for i in ${arr[@]}
do
echo "元素:$i"
done
五、完整知识框架体系(思维导图文字版)
Linux Shell变量体系
├─ 环境变量
│ ├─ 系统内置环境变量(PATH、HOME、USER、PWD、SHELL等)
│ │ └─ PATH变量:命令搜索路径(临时修改/永久修改两种方式)
│ ├─ 自定义局部变量(仅当前Shell)
│ ├─ 全局环境变量(export导出,子Shell生效)
│ └─ 配置加载:bash启动文件(/etc/profile、~/.bashrc、/etc/profile.d等)
├─ 数组变量
│ ├─ 定义方式(整体定义/下标逐个定义)
│ ├─ 读取语法(单个元素、全部元素、长度、下标)
│ ├─ 修改、删除元素/数组
│ └─ 循环遍历使用场景
└─ 配套命令:echo、export、source、unset
六、课件3个练习题实操演示(含操作步骤+截图说明)
说明:发布CSDN时,将下面每一步执行后的终端运行截图插入对应位置即可
练习1:PATH变量实操
执行 echo $PATH 查看原始PATH路径,截图
临时追加 /usr/local/test 到PATH:export PATH=$PATH:/usr/local/test
再次echo $PATH验证追加成功,截图
永久配置:vim ~/.bashrc,末尾添加export PATH=$PATH:/usr/local/test,保存后source ~/.bashrc重载
练习2:bash启动文件重载练习
编辑~/.bashrc,添加自定义变量 export MY_NAME="testuser"
新开终端执行echo $MY_NAME,验证未生效
执行source ~/.bashrc,再次echo $MY_NAME验证生效,截图两次结果对比
练习3:数组变量完整实操
# 1.定义数组
fruit=("西瓜" "葡萄" "芒果")
# 2.查看全部元素
echo ${fruit[@]}
# 3.查看数组长度
echo ${#fruit[@]}
# 4.读取下标1元素
echo ${fruit[1]}
# 5.遍历数组
for f in ${fruit[@]};do echo $f;done
# 6.删除下标0元素
unset fruit[0]
# 7.再次查看数组
echo ${fruit[@]}
逐行执行命令,截取每一步终端输出作为配图插入文章。
七、总结
PATH变量是Shell检索可执行命令的核心路径变量,分临时修改(当前终端)、永久修改(写入bash启动配置文件);
bash启动文件在Shell登录/打开时自动加载,负责初始化全局/用户环境变量,修改后需source重载;
Shell数组适合批量处理一组数据,掌握下标读写、长度获取、遍历、删除基础语法即可满足脚本开发常用场景;
所有知识点必须结合终端实操练习,通过输出截图验证命令执行效







更多推荐



所有评论(0)