matriz Shell
A matriz pode armazenar vários valores. Bash Shell suporta apenas matrizes unidimensionais (não suporta arrays multidimensionais), não há necessidade de definir o tamanho da matriz é inicializado (semelhantes a PHP).
Como a maioria das linguagens de programação, o índice de elementos da matriz a partir de zero.
Shell usar parênteses para indicar um elemento de matriz com o símbolo "espaço" separado, a sintaxe é a seguinte:
array_name=(value1 ... valuen)
Exemplos
#!/bin/bash # author:本教程 # url:www.w3big.com my_array=(A B "C" D)
Nós também podemos definir matrizes com a seguinte norma:
array_name[0]=value0 array_name[1]=value1 array_name[2]=value2
Leia matriz
O formato geral é lido valor de elemento de matriz:
${array_name[index]}
Exemplos
#!/bin/bash # author:本教程 # url:www.w3big.com my_array=(A B "C" D) echo "第一个元素为: ${my_array[0]}" echo "第二个元素为: ${my_array[1]}" echo "第三个元素为: ${my_array[2]}" echo "第四个元素为: ${my_array[3]}"
Executar o script, a saída é a seguinte:
$ chmod +x test.sh $ ./test.sh 第一个元素为: A 第二个元素为: B 第三个元素为: C 第四个元素为: D
Obtém uma matriz de todos os elementos
Use o @ ou * pode obter uma matriz de todos os elementos, tais como:
#!/bin/bash # author:本教程 # url:www.w3big.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组的元素为: ${my_array[*]}" echo "数组的元素为: ${my_array[@]}"
Executar o script, a saída é a seguinte:
$ chmod +x test.sh $ ./test.sh 数组的元素为: A B C D 数组的元素为: A B C D
Veja o comprimento da matriz
Obtém uma matriz de comprimentos de comprimento da corda e obter o mesmo caminho, por exemplo:
#!/bin/bash # author:本教程 # url:www.w3big.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组元素个数为: ${#my_array[*]}" echo "数组元素个数为: ${#my_array[@]}"
Executar o script, a saída é a seguinte:
$ chmod +x test.sh $ ./test.sh 数组元素个数为: 4 数组元素个数为: 4