Latest web development tutorials

matriz de Shell

La matriz puede almacenar varios valores. Bash sólo es compatible con matrices unidimensionales (no admite matrices multidimensionales), se inicializa hay necesidad de definir el tamaño de la matriz (similares a PHP).

Como la mayoría de los lenguajes de programación, el subíndice de elementos de matriz a partir de cero.

Shell utilizar paréntesis para indicar un elemento de conjunto con el símbolo de "espacio" separado, la sintaxis es la siguiente:

array_name=(value1 ... valuen)

Ejemplos

#!/bin/bash
# author:本教程
# url:www.w3big.com

my_array=(A B "C" D)

También podemos definir matrices utilizando la siguiente norma:

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

Lee matriz

El formato general se lee el valor de elemento de matriz:

${array_name[index]}

Ejemplos

#!/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]}"

Ejecutar la secuencia de comandos, la salida es el siguiente:

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

Obtiene una matriz de todos los elementos

Utilizar el @ o * puede obtener una matriz de todos los elementos, tales 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[@]}"

Ejecutar la secuencia de comandos, la salida es el siguiente:

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

Obtener longitud de la matriz

Obtiene una matriz de tramos de longitud de la cadena y obtener la misma manera, por ejemplo:

#!/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[@]}"

Ejecutar la secuencia de comandos, la salida es el siguiente:

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