SingularCode

SOLIN-10

10. Array no Shell Script

Atualizado em: 26 de março de 2024

 

Por: Nelson H. Koshoji

10.1. Array no Shell Script

Exemplo 1: Manipulação de Strings em um Array

Este script cria um array de strings, exibe todos os valores e, em seguida, inverte a ordem dos elementos no array.


#!/bin/bash

# Declaração de um array de strings
nomes=("Alice" "Bruno" "Carlos" "Diana")

# Exibindo todos os elementos do array
echo "Nomes originais:"
for nome in "${nomes[@]}"; do
    echo $nome
done

# Invertendo a ordem dos elementos no array
tamanho=${#nomes[@]}
for (( i=0; i<(tamanho/2); i++ )); do
    # Troca elementos
    temp=${nomes[$i]}
    nomes[$i]=${nomes[$tamanho-$i-1]}
    nomes[$tamanho-$i-1]=$temp
done

echo "Nomes invertidos:"
for nome in "${nomes[@]}"; do
    echo $nome
done

Exemplo 2: Soma de Valores Numéricos em um Array

Este script demonstra como somar valores numéricos armazenados em um array.


#!/bin/bash
# Declaração de um array de números
numeros=(10 20 30 40 50)

# Calculando a soma dos números
soma=0
for num in "${numeros[@]}"; do
    soma=$(($soma + $num))
done

echo "A soma dos números é: $soma"

Exemplo 3: Filtrando Strings de um Array

Este script filtra strings de um array baseado em um critério específico, neste caso, strings que contenham a letra “a”.


#!/bin/bash
# Declaração de um array de strings
frutas=("Maçã" "Banana" "Pera" "Uva" "Manga")

# Array para armazenar frutas que contêm a letra "a"
frutas_com_a=()

# Filtrando frutas que contêm a letra "a"
for fruta in "${frutas[@]}"; do
    if [[ $fruta == *"a"* ]]; then
        frutas_com_a+=("$fruta")
    fi
done

echo "Frutas que contêm a letra 'a':"
for fruta in "${frutas_com_a[@]}"; do
    echo $fruta
done