非常教程

Linux参考手册

Shell 数组

Shell 数组

Shell 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由0开始。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

array_name=(value1 ... valuen)

实例

#!/bin/bash
# author:非常教程
# url:www.verydoc.net

my_array=(A B "C" D)

我们也可以使用下标来定义数组:

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

读取数组

读取数组元素值的一般格式是:

${array_name[index]}

实例

#!/bin/bash
# author:非常教程
# url:www.verydoc.net

my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
第一个元素为: A
第二个元素为: B
第三个元素为: C
第四个元素为: D

获取数组中的所有元素

使用@ 或 * 可以获取数组中的所有元素,例如:

#!/bin/bash
# author:非常教程
# url:www.verydoc.net

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组的元素为: ${my_array[*]}"
echo "数组的元素为: ${my_array[@]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
数组的元素为: A B C D
数组的元素为: A B C D

获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

#!/bin/bash
# author:非常教程
# url:www.verydoc.net

my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D

echo "数组元素个数为: ${#my_array[*]}"
echo "数组元素个数为: ${#my_array[@]}"

执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh
数组元素个数为: 4
数组元素个数为: 4
Shell 数组

Linux目录

1.Linux 用户和用户组管理
2.Linux 文件与目录管理
3.Linux 磁盘管理
4.Shell 变量
5.Shell 教程
6.linux yum 命令
7.Shell 函数
8.Shell 流程控制
9.Shell test 命令
10.Shell echo命令
11.Linux cksum命令
12.Linux chown命令
13.Linux chmod命令
14.Linux chgrp命令
15.Linux chattr命令
16.Linux cat命令
17.Linux cut命令
18.Linux indent命令
19.Linux gitview命令
20.Linux git命令
21.Linux find命令
22.Linux file命令
23.Linux diffstat命令
24.Linux 命令大全
25.Linux diff命令
26.Linux cmp命令
27.Linux more命令
28.Linux mktemp命令
29.Linux mdir命令
30.Linux mdel命令
31.Linux mc命令
32.Linux mattrib命令
33.Linux lsattr命令
34.Linux locate命令
35.Linux less命令
36.Linux ln命令
37.Linux rcp命令
38.Linux patch命令
39.Linux paste命令
40.Linux od命令
41.Linux mv 命令
42.Linux mtoolstest命令
43.Linux mtools命令
44.Linux mren命令
45.Linux mread命令
46.Linux mmove命令
47.Linux mcopy命令
48.Linux cp命令
49.Linux which命令
50.Linux umask命令
51.Linux touch命令
52.Linux tmpwatch命令
53.Linux tee命令
54.Linux split命令
55.Linux slocate命令
56.Linux rm命令
57.Linux ex命令
58.Linux egrep命令
59.Linux ed命令
60.Linux csplit命令
61.Linux comm命令
62.Linux colrm命令
63.Linux col命令
64.Linux whereis命令
65.Linux rhmask命令
66.Linux mshowfat命令
67.Linux mtype命令
68.Linux look命令
69.Linux join命令
70.Linux joe命令
71.Linux jed命令
72.Linux ispell命令
73.Linux grep 命令
74.Linux fold命令
75.Linux fmt命令
76.Linux fgrep命令
77.Linux lprm命令
78.Linux wc命令
79.Linux uniq 命令
80.Linux expr命令
81.Linux tr命令
82.Linux spell命令
83.Linux sort命令
84.Linux sed 命令
85.Linux rgrep命令
86.Linux pico命令
87.Linux uucp命令
88.Linux uupick命令
89.Linux uuto命令
90.Linux tftp命令
91.Linux ncftp命令
92.Linux ftp命令
93.Linux bye命令
94.Linux lpd命令
95.Linux lpq命令
96.Linux lpr命令
97.Linux mlabel命令
98.Linux edquota命令
99.Linux du命令
100.Linux dirs命令