shell——变量
1. 数组变量
#!/bin/bash
# bash版本大于2.0才能使用数组
echo $BASH_VERSION
# 把系统中注册的每一个用户名保存到数组变量中,
# 然后遍历整个数组,打印系统所有用户
# 未被赋值的元素为空
i=3
for name in $(awk -F: '{print $1}' /etc/passwd)
do
user[$i]=$name
let i=$i+1
done
# 另一种定义,注意使用空格分隔,元素从0号开始
user=(1 2 3 4)
# $的优先级高于 [] ,所以不能用 $user[4]
echo "user[4]"
echo ${user[4]}
i=1
# 使用 $arr[@] 只会返回已被赋值的元素
# 若不希望使用双引号,也可以使用 ${user[*]}
for name in "${user[@]}"
do
echo "$i : $name"
let i=$i+1
done
echo "数组做字符串, * 和 @ 描述数组时,不加双引号效果一样,加双引号,*把数组当作一个字符串"
echo "${user[*]}"
echo "数组做单个个体"
echo ${user[@]}
echo ${user[*]}
echo "赋值10,11,12元素,导致其他元素为空"
user=([10]=zz,ee,bb)
echo ${user[@]}
# 数组长度
echo ${#user[@]}
echo ${#user[*]}
# 删除单个元素
unset user[1]
# 删除数组
unset user
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2020-03-24 第20章 广播