shell数组的一些总结
shell数组的一些总结
数组定义法-1
myarray=(12345)数组定义法-2
myarray myarray[0]="A"myarray[1]="B"获取数组的长度
${#myarray[@]}数组遍历法-1: for循环
注意,
如果数组元素被用作shell函数参数,则元素变量名必须大写,如VAR;
如果仅仅是用作echo,元素变量名可以小写
forVARin${myarray[@]}dosome_func$VARdone数组遍历法-2: while循环
i=0while[$i-lt${#myarray[@]}]doecho${ myarray[$i]}leti++done数组遍历法-3: 按数组下标
foriin"${!myarray[@]}"doprintf"%s\t%s\n""$i""${myarray[$i]}"done向函数传递数组
方法-1: 用全局变量作数组
方法-2: 在调用函数前,将数组转化为字符串; 在函数中,将字符串分割为数组
fun(){local_arr=(`echo$1|cut-d" "--output-delimiter=" "-f1-`)local_size=${#_arr[@]}for((i=0;i<$_size;i++));doelem=${_arr[$i]}echo"$i:$elem"done;}myarray=(AA BB CC)fun"$(echo${myarray[@]})"(END)