1、定义数组值
数组变量和标量变量之间的区别:
假设试图将不同编程语言的名字表示为一组变量。每个单独的变量是一个标量变量,如下所示,
NAME01="C" NAME02="JAVA" NAME03="Python" NAME04="CJavaPy"
可以使用一个数组来存储上述所有名称。定义数组的语法如下:
array_name=(value1 ... valuen)
array_name
是数组的名称,value1 ... valuen
是要为该元素设置的值。有其它编程语言的基础应该就很好理解。
例如,
PROGRAMS=("C" "JAVA" "Python" "CJavaPy")
上述是bash脚本的语法,其它脚本稍有区别:
1)sh中语法
array_name[index]=value
2)ksh中语法
set -A array_name value1 value2 ... valuen
2、访问数组中元素
在定义数组变量之后,可以如下方式访问它:
${array_name[index]}
array_name
是数组的名称,index
是要访问的值的索引。
例如,
#!/bin/bash PROGRAMS=("C" "JAVA" "Python" "CJavaPy") echo "第一个元素: ${PROGRAMS[0]}" echo "第二个元素: ${PROGRAMS[1]}"
输出:
$ ./demo.sh 第一个元素: C 第二个元素: Java
可以通过下列方式之一访问数组中的所有元素:
${array_name[*]} ${array_name[@]}
例如,
#!/bin/bash PROGRAMS=("C" "JAVA" "Python" "CJavaPy") echo "第一个: ${PROGRAMS[*]}" echo "第二个: ${PROGRAMS[@]}"
输出:
$ ./demo.sh 第一个: C JAVA Python CJavaPy 第二个: C JAVA Python CJavaPy