Maior e menor valor [RESOLVIDO]

1. Maior e menor valor [RESOLVIDO]

Gustavo
rs23

(usa Ubuntu)

Enviado em 11/04/2010 - 01:33h

Criei o seguinte script

Mas na hora da execução mostra uma mensagem de erro dizendo que o programa foi finalizado
prematuramente


#!/bin/bash

if test $# -lt 1

then

echo "eh preciso informar 1 argumento"
exit 1
fi

num1=$1

if [$num1 > 0]
then
echo "O valor e positivo"
else
echo "O valor e negativo"
elif [$num1 = 0]
then
echo "Neutro"
fi

exit 0



  


2. Re: Maior e menor valor [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 11/04/2010 - 01:57h

1 - Deve haver espaços aqui:

if [<espaço> ... <espaço>] ...

2 - Para comparações númericas, use os operadores: '-eq', '-ne', '-gt', '-lt' ...

3 - O 'else' sempre fechará o bloco condicional quando todas as comparações anterirores falharem. Logo o correto sempre será:

if [ condição1 ]
then
...
elif [ condição2 ]
then
...
else
<todos as anteriores falharam>
fi

Mais detalhes: man bash


3. Re: Maior e menor valor [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/04/2010 - 03:59h

cara, veja soh a comparação

disso:
if [$num1 > 0]

para isso:
if [ "$num1" > 0 ]

viu?? sempre deixe as variaveis entre aspas duplas, e mantenha espaço dos colchetes []

variavel eu coloco assim

num1="$1"

acho mais facil, na minha opnião

se vc quiser fazer comparação somete com numeros, ai faz o seguinte

-eq -ne etc, ou seja, colocando letras ao inves de = ou >

agr p fazer comparação que tenha letras, numeros eh recomendavel usar o "= > != => etc"

vc pode debuga o script para ver onde está dando erro

$ bash -xv script.sh


4. Re: Maior e menor valor [RESOLVIDO]

Gustavo
rs23

(usa Ubuntu)

Enviado em 11/04/2010 - 13:59h

Fiz desta maneira

#!/bin/bash

if test $# -lt 1

then

echo eh reciso informar 1 argumento
exit 1
fi

num1="$1"

if [ "$num1" -gt 0 ]
then
echo "O valor e positivo"
then
elif [ "$num1" -lt 0 ]
echo "O valor e negativo"
then
elif [ "$num1" -eq 0 ]
then
echo "Neutro"
fi

exit 0

E o script ainda continua com erro na hora da excução

Eu executo assim ./maior.sh 3
E o script gera um erro no else


5. Re: Maior e menor valor [RESOLVIDO]

Ricardo Cardoso
ricardo cardoso

(usa Debian)

Enviado em 11/04/2010 - 15:49h

Pelo o que eu vejo no decoorer do código o propósito do script é sber se o numero é par ou impar, estou certo?
Mais vc colocou no enunciado do post "maior e menor valor".

Afinal qual vai ser a função que deve ser feita? fico no aguardo.


6. Re: Maior e menor valor [RESOLVIDO]

Gustavo
rs23

(usa Ubuntu)

Enviado em 11/04/2010 - 18:25h

Eu coloquei o título errado:

O script e para verificar se o valor e postivo, negativo ou neutro




7. Re: Maior e menor valor [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/04/2010 - 22:34h

executa o script assim

bash -xv script.sh


8. Re: Maior e menor valor [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/04/2010 - 22:38h

#!/bin/bash

if [ -z "$1" ] ;then #verifica se a variavel $1 eh nulo
echo "eh reciso informar 1 argumento"
exit 1
fi

num1="$1"

if [ "$num1" > '0' ] ;then
echo "O valor e positivo"
elif [ "$num1" < '0' ]; then
echo "O valor e negativo"
elif [ "$num1" = '0' ]; then
echo "Neutro"
else
echo "parametro invalido"
fi

#===================================================

de uma olhada nesse ling http://www.devin.com.br/shell_script/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts