本文共 2037 字,大约阅读时间需要 6 分钟。
The bash shell allows a number of methods for accessing elements of variable arrays. This recipe demonstrates some of these techniques.Given the array defined by the following code:names=( Jennifer Tonya Anna Sadie Molly Millie)The individual elements in the array can be accessed by their numeric index (remember that they start counting a zero) with:${names[0]} -> Jennifer${names[3]) -> Sadie All of the elements can be accessed at the same time (which is useful in a for loop) with the following:${names[@]}${names[*]}The number of elements in the array can be obtained with:${#names[@]} -> 6A range of elements can easily be specified with the following syntax:${names[@]:2:3} -> Anna Sadie Molly${names[@]:3} -> Sadie Molly MillieThe first example starts at element 2 (the third element) and returns the next three elements (:2:3). The second example starts at record 3 and returns all of the remaining records (:3).
1.$ arr=(123 34 3 5) 2.$ echo $arr // 默认获取第一个元素 3.> 123 4.$ echo ${arr[1]} // 通过下标访问 5.> 34 6.$ echo ${arr[@]} // 访问整个数组 ,@或者* 获取整个数组 7.> 123 34 3 5 8.$ echo ${#arr[@]} // 获取数组的长度(最大下标) ,#获取长度 数组中是最后一个下标 9.> 3 10.$ echo ${#arr[3]} // 获取字符串长度 11.> 1 12.$ echo ${arr[@]:1:2} // 切片方式获取一部分数组内容 13.> 34 3 14.$ echo ${arr[@]:2} // 从第二个元素开始 15.> 3 5 16.$ echo ${arr[@]::2} // 到第二个元素 17.> 123 34 18. 19.参考 http://www.tech-recipes.com/rx/642/bash-shell-script-accessing-array-variables/ 20. 21.array 的模拟操作 22.– http://www.tech-recipes.com/rx/911/queue-and-stack-using-array/ 23.push: 24.array=(”${array[@]}” $new_element) 25. 26.pop: 27.array=(${array[@]:0:$((${#array[@]}-1))}) 28. 29.shift: 30.array=(${array[@]:1}) 31. 32.unshift 33.array=($new_element “${array[@]}”) 34. 35.function del_array { 36.local i 37.for (( i = 0 ; i < ${#array[@]} ; i++ )) 38.do 39.if [ "$1" = "${array[$i]}” ] ;then 40.break 41.fi 42.done 43.del_array_index $i 44.} 45. 46.function del_array_index { 47.array=(${array[@]:0:$1} ${array[@]:$(($1 + 1))}) 48.}
转载地址:http://qsqmi.baihongyu.com/