3.Shell 数组

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
1.1定义数组
在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
数组名=(值1 值2 ... 值n) 
例如:array_name=(value0 value1 value2 value3)
或
array_name=(
	value0
	value1
	value2
	value3
	)
还可以单独定义数组的各个分量:
array_name[0]=value0
	array_name[1]=value1
	array_name[n]=valuen
可以不使用连续的下标,而且下标的范围没有限制。
1.2读取数组
读取数组元素值的一般格式是:
${数组名[下标]}
例如:valuen=${array_name[n]}
使用@符号可以获取数组中的所有元素,例如:echo ${array_name[@]}
1.3获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
 取得数组元素的个数
          length=${#array_name[@]}
 或者
	  length=${#array_name[*]}
        # 取得数组单个元素的长度
	  lengthn=${#array_name[n]}
1.4遍历数组
let:进行算数运算操作
#!/bin/bash

	my_arry=(a b "c","d" abc)
	echo "-------FOR循环遍历输出数组--------"
	for i in ${my_arry[@]};
	do
  	   echo $i
	done

	echo "-------::::WHILE循环输出 使用 let i++ 自增:::::---------"
	j=0
	while [ $j -lt ${#my_arry[@]} ]
	do
 	   echo ${my_arry[$j]}
  	let j++
	done

	echo "--------:::WHILE循环输出 使用 let  "n++ "自增: 多了双引号,其实不用也可以:::---------"
	n=0
	while [ $n -lt ${#my_arry[@]} ]
	do
  	   echo ${my_arry[$n]}
 	let "n++"
	done

	echo "---------::::WHILE循环输出 使用 let m+=1 自增,这种写法其他编程中也常用::::----------"
	m=0
	while [ $m -lt ${#my_arry[@]} ]
	do
  	   echo ${my_arry[$m]}
  	let m+=1
	done

	echo "-------::WHILE循环输出 使用 a=$[$a+1] 自增,个人觉得这种写法比较麻烦::::----------"
	a=0
	while [ $a -lt ${#my_arry[@]} ]
	do
 	    echo ${my_arry[$a]}
 	a=$[$a+1]
	done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值