Re: [shell-script] Re: Duvida para atribuir valor a variavel
From:
itamarnet
Subject:
Re: [shell-script] Re: Duvida para atribuir valor a variavel
Date:
09 Jul 2016 17:10:25 -0700
Rodrigo Se me permite gostaria de dar mais alguns pitacos.
No trecho: mysqldump -h localhost -uteste -psenha --opt teste > teste.bkp$DATE aux1=$(($?)) && echo $aux1
seria melhor assim: mysqldump -h localhost -uteste -psenha --opt teste > teste.bkp$DATE aux1=$? echo $aux1
Nesse caso a variável aux1 estava com o mesmo problema do caso anterior na construção "$(( ... ))" e nesse caso pode apontar diretamente a variável por atribuição simples pois vai sempre retornar um número, que é o código de retorno do comando anterior. E echo após ia ser executado de qualquer forma e coloca-lo numa linha diferente torna o código mais legível
No trecho: if [ "varerror" != "1" ] ; then let "varerror=varerror-1" fi echo "$varerror"
varerror no if deveria ser $varerror, faltou o cifrão ($)
varerror vai sempre possuir um número, que pode ser 0 ou mais e está usando um operador de comparação de string então o ideal para esse caso seria: if [ "$varerror" -ne "1" ]
Mas pelo que entendi varerror pode ser 0, e se for o trecho seguinte vai colocar o valor de varerror como -1. Isso é desejável? É o que espera receber? Se não for o caso recomendaria: if [ "$varerror" -gt "1" ]
Confesso que não sei o objetivo de decrementar varerror, apenas suponho que o trecho possa estar embutido em um loop ou se adequando a um código previamente feito, mas o trecho let "varerror=varerror-1" poderia ser também: let varerror--
Sem o cifrão($) mesmo, e nesse caso é apenas uma observação, pois a forma que usou funciona perfeitamente.
E como sugestão adicional eu recomendaria o python como alternativa de linguagem.