[转]shell 数组定义、使用和追加
(2015-05-14 12:34:25)
标签:
shell数组追加声明遍历 |
分类: Linux |
1.声明数组
declare -a myarray
在函数中还可以用local 来声明数组
local -a myarray
2.给数组赋值。
2.1.对于shell能返回多个值的,可以直接赋值,比如
myarray=`ls *.bin 2>/dev/null`
这条语句把当前目录下所有的.bin文件赋值给myarray
2.2.也可以从让用户输入
2.3.用索引值来访问
${array[0]}='test'
2.4.也可以用下面的方法往数组里追加值
myarray=(${myarray[*] test);
3.打印数组所有的值
echo ${myarrra[*]};
或
echo ${myarrra[@]};
4.逐一读出数组的值
for item in ${myarray[*]};
do
echo $item;
done;
5.清空数组
uset ${myarray}
或
myarray=
6、向数组追加元素的方法与数组复制非常类似。最简单的追加到数组的方法是将数组复制语句进行扩展。
$
>
>
>
Hobby: swimming
Hobby: water skiing
Hobby: canoeing
Hobby: white-water rafting
Hobby: surfing
Hobby: scuba diving
Hobby: diving
$
本章开头介绍了如何使用seq 0
$((${#beatles[@]}–1))获取数组的最后一个实际元素。但数组从0开始索引这一事实使得这一任务变得有些棘手。在向数组追加单个元素时,数组从0开始索引实际上使得追加操作更容易。
$
$
>
>
>
Hobby: swimming
Hobby: water skiing
Hobby: canoeing
Hobby: white-water rafting
Hobby: surfing
Hobby: scuba diving
Hobby: diving
Hobby: rowing
$
bash
shell确实有组合两个数组的内置语法。这种使用C风格符号+=的方法更简洁,而且写出的代码更清晰。
$
$
$
>
>
>
Activity: swimming
Activity: water skiing
Activity: canoeing
Activity: white-water rafting
Activity: surfing
Activity: scuba diving
Activity: climbing
Activity: walking
Activity: cycling
Activity: flying
Activity: gliding
Activity: parachuting
$
7、数组的遍历用到一个取全部:
- ${array[@]}
,完整示例如下:
- for
data in ${array[@]} - do
-
echo ${data} - done
转自:http://book.2cto.com/201209/3572.html