forked from aqzt/kjyw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
array.sh
87 lines (79 loc) · 1.76 KB
/
array.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash
##############
##Author: yul1
##Date: 2019-09-13 11:29:25
##LastEditors: yul1
##LastEditTime: 2019-09-13 11:32:32
##Description:
##############
#初始化定义三个数组
arry1=(A B C)
arry2=(D E F)
arry3=(G H I)
#
#使用for循环来读取数组中元素的个数,每次读取完一个数组将其打印到屏幕上并继续读取
for ((i=0;i<4;i++))
do
eval value=\${arry${i}[@]}
for element in ${value}
do
echo -e ${value}
continue 2
done
done
echo
#定义三个一维数组
array1="A B C"
array2="D E F"
array3="G H I"
#
#使用for语句来循环读取所定义的数组中的元素并暂存到变量i中
#将暂存在变量i中的元素赋予变量value
#使用for语句读取变量value中的值 每次读取完后都打印到标准输出直到读取完成
for i in array1 array2 array3
do
eval value=\$$i
for j in $value
do
echo -e $value
continue 2
done
done
#初始化第一个数组
array2=(
element2
element3
element4
)
#初始化第二个数组
array3=(
element5 element6 element7
)
#定义一个函数 将所定义的两个一维数组组合成一个二维数组并显示到屏幕上
ARRAY()
{
echo
echo ">>Two-dimensional array<<"
echo
echo "${array2[*]}"
echo "${array3[*]}"
}
#
ARRAY
echo array
declare -i j=0
declare -i limit=4
#
#初始化一个一维数组
array=(34 35 36 37 38 39)
#
echo "Two-dimensional array"
#使用while循环完成对一维数组元素的读取 并将读取的元素重新组成一个二维数组后输出
while [ $j -lt $limit ]
do
#对数组array中的元素每次都从第$j个元素开始读取且读取的数目为3
echo "${array[*]:$j:3}"
let j+=2
let j++
done
echo