Verificar se é erro

1. Verificar se é erro

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/07/2018 - 14:19h

Pessoas ... tenho uma variável ( x ) dinâmica que me retorna de 0 a 100 COM e sem DECIMAIS ... a fórmula
$(( $x /1 )) 
... o que acontece ... se X for com decimal, a parada vai me retornar erro ... eu quero tratar esse erro, então

se $(( $x /1 )) for erro faça isso, senão faça aquilo 



  


2. Re: Verificar se é erro

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/07/2018 - 16:00h

Mauriciodez escreveu:

Pessoas ... tenho uma variável ( x ) dinâmica que me retorna de 0 a 100 COM e sem DECIMAIS ... a fórmula
$(( $x /1 )) 
... o que acontece ... se X for com decimal, a parada vai me retornar erro ... eu quero tratar esse erro, então

se $(( $x /1 )) for erro faça isso, senão faça aquilo 


Testa ai...
[[ "$x" =~ [.] ]] && echo Decimal || echo Inteiro
Ou
if grep -q '\.' <<< "$x";then echo "DECIMAL";else echo "INTEIRO";fi

marcelo oliver


3. Re: Verificar se é erro

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/07/2018 - 16:35h

msoliver escreveu:
Testa ai...
[code][[ "$x" =~ [.] ]] && echo Decimal || echo Inteiro
marcelo oliver


me explica duas ou três paradas:

"[[ "$x" =~ [.] ]]" verifica na variável se ela tem o caractere "." ???
pq nesse caso tem que usar colchetes duplos ???
trocar o IF por essa estrutura sempre da certo ???

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



4. Re: Verificar se é erro

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/07/2018 - 17:08h

Mauriciodez escreveu:

msoliver escreveu:
Testa ai...
[[ "$x" =~ [.] ]] && echo Decimal || echo Inteiro
marcelo oliver


me explica duas ou três paradas:

"[[ "$x" =~ [.] ]]" verifica na variável se ela tem o caractere "." ???
pq nesse caso tem que usar colchetes duplos ???
trocar o IF por essa estrutura sempre da certo ???

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------

Sim, verifica se tem o ponto '.'
O colchete é "força do habito", pode tirar mas não esqueça de escapar o ponto .
[code]
[[ "12.50" =~ \. ]] && echo true || echo false

Sem problemas usar o "if"
if [[ "12.50" =~ \. ]];then echo true ;else echo false; fi 

Respondi do colchete errado . . . rsrsrsr
Se não for duplo da erro....

marcelo



5. Re: Verificar se é erro

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/07/2018 - 19:28h

msoliver escreveu:
Respondi do colchete errado . . . rsrsrsr
Se não for duplo da erro....


Então ... eu tô querendo é saber o pq de dar errado e quando usar duplo ou simples !!!

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts