[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Alternativa ao comando set usando read
From: |
phfbettetga |
Subject: |
Re: [shell-script] Alternativa ao comando set usando read |
Date: |
Fri, 9 Nov 2018 14:40:29 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 |
Olá Robson, com here strings funciona mas acho que dá problema com o IFS
array=('a' 'b c' 'd' 'e')
read var1 var2 var3 var4 < "${array[@]}"
bash: "${array[@]}": redirecionamento ambíguo
read var1 var2 var3 var4 <<< "${array[@]}"
echo $var1 $var2 $var3 $var4
a b c d e
echo $var1-$var2-$var3-$var4
a-b-c-d e
Nesse caso um loop resolve melhor
for i in "${array[@]}";do echo "$i";done
a
b c
d
e
for i in "${array[@]}";do read var$((++j)) <<<"$i";done
echo -$var1- -$var2- -$var3- -$var4-
-a- -b c- -d- -e-
Pode ser alterando o IFS também,
mas aí teria que ter algum separador diferente.
O livro do mestre Júlio tem um capítulo que trata
do read com todos esses assuntos :) vale a pena.
Abraços Paulo
On 09/11/2018 13:42, Robson Alexandre address@hidden [shell-script] wrote:
> Boa tarde shelleiros,
>
> gostaria de saber se há alguma alternativa ao comando *set* usando o
> *read*, por exemplo, para atribuir
> valores a variáveis.
> Meu código segue abaixo:
>
> [[ "$texto" =~ ^(/[^@ ]+)(@[^ ]+)?\ ?(.*)? ]] && {
> set --"${BASH_REMATCH[@]}"
> var1=$2
> var2=$3
> var3=$4
> }
>
> Minha dúvida é se há alguma alternativa para atribuição das variáveis usando
> read, como por exemplo:
>
> array=('a' 'b c' 'd' 'e')
> read var1 var2 var3 var4 < "${array[@]}"
>
> --------------------------------------------------------------------------------------------------------------
>
> Atenciosamente,
>
> Robson Alexandre
>
>
> --------------------------------------------------------------------------------------------------------------
> Enviado por: Robson Alexandre <address@hidden>
> --------------------------------------------------------------------------------------------------------------
> Responder através da web
Message not available
Re: [shell-script] Alternativa ao comando set usando read,
phfbettetga <=