Introdução
Neste laboratório, você aprenderá a trabalhar com arrays na programação shell. Arrays são estruturas de dados que permitem armazenar múltiplos valores sob um único nome, facilitando a organização e a manipulação de informações. Você aprenderá como inicializar arrays, adicionar elementos a eles, acessar itens pelo seu índice e determinar a quantidade total de elementos em um array. Este conhecimento é fundamental para o desenvolvimento de scripts shell mais avançados e tarefas complexas de processamento de dados.
Criar um novo arquivo de script shell
Vamos começar criando um novo arquivo de script shell onde escreveremos nossas operações com arrays.
Abra o seu terminal no WebIDE.
Navegue até o diretório do projeto:
cd ~/projectCrie um novo arquivo chamado
arrays.shusando o comando touch:touch arrays.shAbra o arquivo
arrays.shno WebIDE.
Inicializar arrays vazios
Agora que temos nosso arquivo de script, vamos começar inicializando três arrays vazios.
Adicione o seguinte código ao seu arquivo arrays.sh:
#!/bin/bash
## Initialize empty arrays
NUMBERS=()
STRINGS=()
NAMES=()
Vamos detalhar o que este código faz:
- A primeira linha
#!/bin/bashé chamada de shebang. Ela informa ao sistema que este script deve ser executado pelo interpretador Bash. - Estamos criando três arrays vazios:
NUMBERS,STRINGSeNAMES. - A sintaxe
()inicializa um array sem elementos.
Adicionar elementos aos arrays
Com os arrays inicializados, vamos adicionar alguns elementos a eles.
Adicione o seguinte código ao seu arquivo arrays.sh, logo abaixo da inicialização dos arrays:
## Add elements to NUMBERS array
NUMBERS+=(1)
NUMBERS+=(2)
NUMBERS+=(3)
## Add elements to STRINGS array
STRINGS+=("hello")
STRINGS+=("world")
## Add elements to NAMES array
NAMES+=("John")
NAMES+=("Eric")
NAMES+=("Jessica")
Entenda o funcionamento deste código:
- Utilizamos o operador
+=para anexar (fazer o append de) elementos aos nossos arrays. - Para
NUMBERS, estamos adicionando os números inteiros 1, 2 e 3. - Para
STRINGS, estamos adicionando as palavras "hello" e "world". - Para
NAMES, estamos adicionando três nomes: "John", "Eric" e "Jessica". - Observe que colocamos elementos de texto (strings) entre aspas, enquanto números não precisam obrigatoriamente de aspas.
Determinar o número de elementos em um array
Uma operação comum com arrays é descobrir quantos elementos eles contêm. Vamos fazer isso para o nosso array NAMES.
Adicione o seguinte código ao seu arquivo arrays.sh:
## Get the number of elements in the NAMES array
NumberOfNames=${#NAMES[@]}
Esta linha realiza o seguinte:
${#NAMES[@]}nos retorna a quantidade de elementos presentes no arrayNAMES.- Armazenamos esse valor em uma variável chamada
NumberOfNames. - O símbolo
@dentro dos colchetes refere-se a todos os elementos do array. - O símbolo
#antes deNAMESinstrui o shell a contar os elementos em vez de retornar seus valores.
Acessar um elemento específico em um array
Agora, vamos acessar um elemento específico no nosso array NAMES. Vamos obter o segundo nome da lista.
Adicione este código ao seu arquivo arrays.sh:
## Access the second name in the NAMES array
second_name=${NAMES[1]}
Aqui está a explicação:
- Estamos acessando o segundo elemento do array
NAMEScom${NAMES[1]}. - Lembre-se de que os índices de array no Bash começam em 0, portanto
[1]refere-se ao segundo elemento. - Armazenamos esse valor na variável
second_name.
Imprimir os arrays e variáveis
Por fim, vamos adicionar um código para imprimir nossos arrays e variáveis para visualizar os resultados das operações.
Adicione o seguinte código ao final do seu arquivo arrays.sh:
## Print the arrays and variables
echo "NUMBERS array: ${NUMBERS[@]}"
echo "STRINGS array: ${STRINGS[@]}"
echo "The number of names listed in the NAMES array: $NumberOfNames"
echo "The second name on the NAMES list is: $second_name"
Este trecho faz o seguinte:
- Usamos o comando
echopara exibir textos no console. ${NUMBERS[@]}e${STRINGS[@]}imprimem todos os elementos desses respectivos arrays.- Imprimimos as variáveis
NumberOfNamesesecond_nameque criamos anteriormente.
Executar o script
Agora que escrevemos nosso script, é hora de executá-lo e conferir os resultados.
No seu terminal, certifique-se de estar no diretório correto:
cd ~/projectDê permissão de execução ao script:
chmod +x arrays.shExecute o script:
./arrays.sh
Você deverá ver uma saída semelhante a esta:
NUMBERS array: 1 2 3
STRINGS array: hello world
The number of names listed in the NAMES array: 3
The second name on the NAMES list is: Eric
Esta saída confirma que nossas operações foram bem-sucedidas:
- O array
NUMBERScontém 1, 2 e 3. - O array
STRINGScontém "hello" e "world". - Contamos corretamente 3 nomes no array
NAMES. - Recuperamos com sucesso "Eric" como o segundo nome.
Resumo
Neste laboratório, você aprendeu os fundamentos do trabalho com arrays em scripts shell. Você praticou a inicialização de arrays, a adição de elementos, o acesso a itens específicos e a contagem do número total de elementos. Essas habilidades são cruciais para tarefas de automação mais complexas, especialmente ao lidar com listas de dados ou quando você precisa processar múltiplos itens de forma iterativa. Arrays oferecem uma maneira poderosa de organizar e manipular dados em seus scripts, tornando seu código mais eficiente e fácil de manter.



