Shell编程中的数组定义、遍历
2016-10-30 14:36
204 查看
数组定义:
数组定义法2:
获取数组的length(数组中有几个元素):
遍历(For循环法):
遍历(带数组下标):
遍历(While循环法):
向函数传递数组:
由于Shell对数组的支持并不号,所以这是一个比较麻烦的问题。
翻看了很多StackOverFlow的帖子,除了全局变量外,无完美解法。
这里提供一个变通的思路,我们可以在调用函数前,将数组转化为字符串。
在函数中,读取字符串,并且分为数组,达到目的。
1 | arr=(1 2 3 4 5) # 注意是用空格分开,不是逗号!! |
1 2 3 4 | array array[0]="a" array[1]="b" array[2]="c" |
1 | ${#array[@]} |
1 2 3 4 | for var in ${ arr[@] }; do echo $var done |
123 | for i in "${!arr[@]}"; do printf "%s\t%s\n" "$i" "${arr[$i]}"done |
1 2 3 4 5 6 | i=0 while [ $i -lt ${ #array[@] } ] do echo ${ array[$i] } let i++ done |
由于Shell对数组的支持并不号,所以这是一个比较麻烦的问题。
翻看了很多StackOverFlow的帖子,除了全局变量外,无完美解法。
这里提供一个变通的思路,我们可以在调用函数前,将数组转化为字符串。
在函数中,读取字符串,并且分为数组,达到目的。
1 2 3 4 5 6 7 8 9 10 11 12 | fun() { local _arr=(`echo $1 | cut -d " " --output-delimiter=" " -f 1-`) local _n_arr=${#_arr[@]} for((i=0;i<$_n_arr;i++)); do elem=${_arr[$i]} echo "$i : $elem" done; } array=(a b c) fun "$(echo ${array[@]})" |
相关文章推荐
- Shell编程中的数组定义、遍历
- Shell编程中的数组定义、遍历
- Shell编程中的数组定义、遍历
- Shell编程中的数组定义、遍历
- [Z]Shell编程中的数组定义、遍历
- PHP数组定义,foreach遍历
- linux shell编程中的数组定义、遍历
- 2013年8月14日、数组第二种定义格式|遍历|最值|
- java 1,2,3维数组定义,遍历
- 24-一维数组定义,遍历
- 数组的学习,概念的抽象记忆法,定义,遍历元素和输出
- 数组定义属性遍历循环,输出最大数
- A.2.4-数组的定义,遍历,求和,平均值,求最大值
- PHP三维数组的定义与遍历
- 字符数组和字符串,char 和string定义的字符串的区别与遍历
- linux shell 中数组的定义和for循环遍历
- 定义一个100长度的整型数组,使用rand函数生产随机数对每个元素进行赋值,顺序遍历该数组,输出所有值大于50的数
- 定义一个100长度的整型数组,使用rand函数生产随机数对每个元素进行赋值,顺序遍历该数组,输出所有值大于50的数。输出格式例子为:
- 字符数组和字符串,char 和string定义的字符串的区别与遍历
- 1.二维数组-定义 2.二维数组--重点 3.二维数组-遍历