Shell支持另一种类型的变量,称为 array变量。这可以同时保存多个值,数组提供了一种对一组变量进行分组的方法。
假设您尝试将各个学生的姓名表示为一组变量。每个单独的变量都是标量变量,如下所示-
NAME01="Learnfk" NAME02="Nesfk" NAME03="Toolfk" NAME04="Poemfk" NAME05="Chromefk"
我们可以使用单个数组来存储所有上述名称,以下是创建数组变量的最简单方法,这有助于为其一个索引分配一个值。
array_name[index]=value
这里 array_name 是数组的名称, index 是要设置的数组中项目的索引,而value是要为其设置的值。
链接:https://www.learnfk.comhttps://www.learnfk.com/linux/linux-using-arrays.html
来源:LearnFk无涯教程网
如,以下命令-
NAME[0]="Learnfk" NAME[1]="Nesfk" NAME[2]="Toolfk" NAME[3]="Poemfk" NAME[4]="Chromefk"
如果您使用的是 ksh shell,则这是数组初始化的语法-
set -A array_name value1 value2 ... valuen
如果您使用的是 bash shell,则这是数组初始化的语法-
array_name=(value1 ... valuen)
设置任何数组变量后,可以按以下方式访问它:
${array_name[index]}
这里 array_name 是数组的名称,而 index 是要访问的值的索引。以下是了解概念的示例-
#!/bin/sh NAME[0]="Learnfk.com" NAME[1]="Nesfk.com" NAME[2]="Toolfk.com" NAME[3]="Poemfk.com" NAME[4]="Chromefk.com" echo "First Index: ${NAME[0]}" echo "Second Index: ${NAME[1]}"
上面的示例将产生以下输出-
$./test.sh First Index: Learnfk.com Second Index: Nesfk.com
您可以通过以下方式之一访问数组中的所有项目:
${array_name[*]} ${array_name[@]}
这里 array_name 是您感兴趣的数组的名称。以下示例将帮助您理解概念-
#!/bin/sh NAME[0]="Learnfk.com" NAME[1]="Nesfk.com" NAME[2]="Toolfk.com" NAME[3]="Poemfk.com" NAME[4]="Chromefk.com" echo "First Method: ${NAME[*]}" echo "Second Method: ${NAME[@]}"
上面的示例将产生以下输出-
$./test.sh First Method: Learnfk.com Nesfk.com Toolfk.com Poemfk.com Chromefk.com Second Method: Learnfk.com Nesfk.com Toolfk.com Poemfk.com Chromefk.com
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)