(P)Manuseio de Array em bash script

1. (P)Manuseio de Array em bash script

david
zephyr91

(usa Debian)

Enviado em 28/11/2012 - 04:52h

Pessoal,

Estou com um problema ao manusear um array em bash script em execução.

Ex:

O usuario vai digitando valores eles vão sendo armazenados no array e quando ele não quer mais digitar nenhum valor a ser adicionado no array ele deve pressionar "q" ou "Q".

Meu problema é o momento de adicionar os valores para eles não estão sendo adicionados nos indexes.

Script:



#!/bin/bash

echo "digite os pacotes a serem verificados:"
echo "digite "q/Q" para sair."
validation=""
counter=0;
#packages=(valor1 valor2 valor3 pao4);
unset packages

while [ "$validation" == "" ]

do

echo "Digite o nome da package:";
read package;
if [ "$package" == "q" ] || [ "$package" == "Q" ]
then
echo "Saindo, olhe o vetor como esta:";

while [ "$counter">="0" ]

do

if [ "$counter" == "-1" ]
then
exit 0
fi

echo ${packages["$counter"]};

export counter=$(expr $counter - 1)
done

exit 0
fi

#export $packages[$(echo "$counter")]="$package";
export packages[$counter]=$package;
export counter="$(expr $counter + 1)";

done;



O problema está aqui "export packages[$counter]=$package;".

Poderiam me ajudar a resolver isto ?

Obrigado galera.

Att.


  


2. Re: (P)Manuseio de Array em bash script

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/11/2012 - 05:53h

Amigo,

Eu não consegui entender muito bem sua dúvida mas, segue(m) uma(s) dica(s).


while :
do
read OP
if [ "$OP" != 'q' ] && [ "$OP" != 'Q' ]
then
# Adiciona um elemento no final do array
# ${#ARRAY[@]} é o numero de elementos
# do array que será iniciado
# na primeira interação deste loop
ARRAY[${#ARRAY[@]}]=$OP
else
# Encerra o loop caso o teste seja falso
# e não adiciona nenhum valor no final do array
break
fi
done
# Todos os elementos do array
echo ${ARRAY[@]}
# O numero de elementos do array
echo ${#ARRAY[@]}


BOA SORTE!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts