shell 数组
来源:互联网 发布:mac winebottler msi 编辑:程序博客网 时间:2024/06/06 05:03
1.数组的定义
arr=(1 2 3 4 5 6)
2.数组元素的读取
echo ${arr[0]} #输出arr[0] # 1echo ${arr[*]} #输出整个数组内容# 1 2 3 4 5 6echo ${arr[@]} #输出整个数组内容# 1 2 3 4 5 6
3.遍历数组 (for 循环)
for 变量名 in 循环的条件do commanddone
如:
for i in $[arr[*]}do echo $idone
4.数组的长度
${#数组名[*或@]}
echo ${#arr[@]}# 6
5.赋值
arr[6]=7echo ${arr[*]}# 1 2 3 4 5 6 7
6.分片 格式:
${数组名[*或@]:起始位:长度},截取部分数组,返回字符串,中间用空格分隔;
将结果使用“()”,则得到新的切片数组
echo ${arr[@]:0:4}# 1 2 3 4arr1=(${arr[@]:0:4})echo ${arr1[*]}# 1 2 3 4
7.替换元素,格式:
${数组名[*或@]/查找字符/替换字符}, 不会修改原数组;
如需修改的数组,将结果使用“()”赋给新数组
echo ${arr[*]}# 1 2 3 4 5 6 7echo ${arr[*]/7/99}# 1 2 3 4 5 6 99arr2=(${arr[*]/7/99})echo ${arr2[*]}# 1 2 3 4 5 6 99
8.删除数组 格式:
unset 数组 清除整个数组;
unset 数组[下标],清除单个元素
echo ${arr[@]}# 1 2 3 4 5 6 7 unset arr[0]# 2 3 4 5 6 7unset arr# 没有元素
例:写一个脚本让用户输入多个城市的名字(可以是中文),要求不少于5个,然后把这些城市存到一个数组里,最后用一个for循环把他们打印出来。
#!/bin/bash read -p "请输入至少5个城市的名字,用空格分隔:" city #用一个字符串来存储五个城市,中间用空格分开n=`echo $city|awk '{print NF}'` #空格为AWK的默认分隔符,NF为字段数if [ $n -lt 5 ]then echo "输入的城市个数至少为5" exitfiname=($city) #赋值for i in ${name[@]}do echo $i
阅读全文
0 0
- shell数组
- shell数组
- shell 数组
- shell数组
- shell数组
- shell 数组
- shell-------------数组
- shell 数组
- shell数组
- shell数组
- shell数组
- Shell 数组
- shell数组
- shell数组
- shell 数组
- shell数组
- shell数组
- shell 数组
- Json在线编辑和格式化工具
- Arduino连接nRF24L01无线收发模块
- 微信小程序-兼容
- [CNN]关于cnn一些经验和理解
- 以此篇文章勉励自己努力学习,致当年对学习不努力的自己——2017-11-12
- shell 数组
- 51nod 1182 完美字符串
- 微信小程序初探
- Volley原理解析
- (译)网站加速最佳实践——雅虎35条
- 运行WordCount案例
- 南华新生训练2017-最长回文子串
- 文章标题
- 大北京的实习生活