English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Arrays do Shell

Os arrays podem armazenar vários valores. O Bash Shell suporta arrays unidimensionais (não suporta arrays multidimensionais), não é necessário definir o tamanho do array no inicialização (semelhante ao PHP).

Como a maioria das linguagens de programação, o índice dos elementos do array começa por 0.

Os arrays do Shell são representados por colchetes, e os elementos são separados por "espaços", o formato de sintaxe é o seguinte:

array_name=(value1 value2 ... valuen)

Exemplo Online

#!/bin/bash
# author:Tutorial Básico
# url:pt.oldtoolbag.com
my_array=(A B "C" D)

Também podemos usar o índice para definir o array:

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

Ler o array

O formato geral para ler o valor de um elemento de array é:

${array_name[index]}

Exemplo Online

#!/bin/bash
# author:Tutorial Básico
# url:pt.oldtoolbag.com
my_array=(A B "C" D)
echo "O primeiro elemento é: ${my_array[0]}"
echo "O segundo elemento é: ${my_array[1]"
echo "O terceiro elemento é: ${my_array[2]"
echo "O quarto elemento é: ${my_array[3]"

Executar o script, o resultado será conforme mostrado a seguir:

$ chmod +x test.sh 
$ ./test.sh
O primeiro elemento é: A
O segundo elemento é: B
O terceiro elemento é: C
O quarto elemento é: D

Obter todos os elementos do array

Usar @ ou * É possível obter todos os elementos do array, por exemplo:

#!/bin/bash
# author:Tutorial Básico
# url:pt.oldtoolbag.com
my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D
echo "Os elementos do array são: ${my_array[*]"
echo "Os elementos do array são: ${my_array[@]}"

Executar o script, o resultado será conforme mostrado a seguir:

$ chmod +x test.sh 
$ ./test.sh
Os elementos do array são: A B C D
Os elementos do array são: A B C D

Obter o comprimento do array

Os métodos para obter o comprimento de um array são os mesmos que para obter o comprimento de uma string, por exemplo:

#!/bin/bash
# author:Tutorial Básico
# url:pt.oldtoolbag.com
my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D
echo "Número de Elementos do Array: ${#my_array[*]"
echo "Número de Elementos do Array: ${#my_array[@]}"

Executar o script, o resultado será conforme mostrado a seguir:

$ chmod +x test.sh 
$ ./test.sh
Número de Elementos do Array: 4
Número de Elementos do Array: 4