shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Alternativa ao comando set usando read


From: Julio C. Neves
Subject: Re: [shell-script] Alternativa ao comando set usando read
Date: Fri, 9 Nov 2018 18:09:37 -0200

Fala Robson,
se o seu Shell for bash e vc usar Here Strings (<<<) teu problema está resolvido, tipo read a b c <<< "1 2 3".
Se for ksh ou sh vc erá de fazer echo 1 2 3 | read a b c.

Mas no seu caso específico, para que isso? BASH_REMATCH já é uma variável do tipo vetor (array) cujo elemento índice 0 (zero) contem todo o casamento da ER e nos elementos seguintes, o que casou com cada um dos grupos (similar aos retrovisores).

Vou aproveitar para fazer um marketing para o pessoal do RJ: a partir do dia 17 estarei dando um treinamento presencial de shell (em 40 horas) no RJ (no Centro) em 4 sábados. Como ainda sobraram umas poucas vagas e já está quase na hora, o Paulo Henrique (da Escola Linux), que está promovendo o curso me pediu para avisá-los que fará uma redução substancial no preço. Entre em contato com ele via address@hidden.

Se vc mora em outro local, a Livra-TE (Tecnologia & Educação em Sw Livre) + Dicas-l oferecerá um belíssimo desconto (50%++) em cursos referentes a Shell em ensino à distancia. Veja os cursos em: www.dicas-l.com.br/educacao.

Abraços,
Julio

» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
» Conheça nosso portal educacional e estude conosco: 



Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.



Em sex, 9 de nov de 2018 às 13:48, Robson Alexandre address@hidden [shell-script] <address@hidden> escreveu:
 

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]