[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] duas condições com um if
From: |
denis costa |
Subject: |
Re: [shell-script] duas condições com um if |
Date: |
Mon, 22 Dec 2008 16:06:17 -0800 (PST) |
aparece essa mensagem:
../media.sh: line 47: ((: < 0 || > 10: erro de sintaxe: operando esperado
(error token is "< 0 || > 10")
--- Em seg, 22/12/08, denis costa <address@hidden> escreveu:
De: denis costa <address@hidden>
Assunto: Re: [shell-script] duas condições com um if
Para: address@hidden
Data: Segunda-feira, 22 de Dezembro de 2008, 21:25
modifiquei e não deu certo tô mandado aqui o códido script.
esse script tem teor didático pra eu me habituar com essa linguagem, pois não
conheço a sintaxe 100% do Shell!
#!/bin/bash
#-------Variaveis usadas
cont=1
#-------Chaves usadas
verificanota=0
# Leitura das notas dos alunos
while (($cont < 5)); do
echo "Digite o valor da $cont° nota:"
read $nota
# Verificar se a nota é valida
if (($nota < 0 || $nota > 10)); then
verificanota=1
echo
echo "Valor inválido como nota!"
echo
# Lê novamente as notas caso
# as notas tenham sido recebidas como
# inválidas.
while (($verificanota == 1))
do
echo "Digite uma nota válida:"
read $nota
if (($nota >= 0 && $nota <= 10));then
verificanota=0
fi
done
exit 0
fi
total=$((total +
nota))
cont=$((cont + 1))
done
# Calculo da média
media=$((total/4))
echo
echo "A média do aluno é: $media"
echo
if (($media >= 7)); then
echo "Aluno Aprovado"
else
echo "Aluno de recuperação"
fi
echo
echo "Digite a nota da Prova de Recuperação:"
read $nota
if (($nota < 0 || $nota > 10 )); then
verificanota=1
echo
echo "Valor inválido como nota!"
echo
# Lê novamente as notas caso a nota da recuperação
# tenham sido recebidas como inválidas.
while (($verificanota == 1)); do
echo "Digite uma nota válida:"
read
$nota
if (($nota >= 0 && $nota <= 10)); then
verificanota=0
fi
done
if (($nota >= 7)); then
echo "Aluno Aprovado"
else
echo "Aluno Reprovado"
fi
fi
--- Em dom, 21/12/08, Julio C. Neves <address@hidden> escreveu:
De: Julio C. Neves <address@hidden>
Assunto: Re: [shell-script] duas condições com um if
Para: address@hidden
Data: Domingo, 21 de Dezembro de 2008, 22:16
Fala Denis,
faça assim:
if (($nota <= 0 || $nota >= 10)); then ....
ou então:
if [ $nota -le 0 -o $nota -ge 10 ]; then ...
A primeira é mais veloz pq é bash puro.
--
Abração,
Julio
Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- Turmas fechadas em outras cidades ligue (21) 8112-9988
2008/12/21 denis costa <deniscostadsc@ yahoo.com. br>
> como poderia fazer para testar duas condições em um if, póis estou
> fazendo um programinha que necessita de uma verificação se um número esta em
> uma faixa de números entre 0 e 10 e quando está fora preciso trata-lós, logo
> pensei:
>
> if ($nota <= 0) || ($nota >= 10); then
> comandos
> fi
>
> mas se esse if lê 8 caiu nos comando dele, não tô entendo o por que
>
> Obrigado a quem possa ajudar
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbusca dos.yahoo. com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Abração,
Julio
Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- Turmas fechadas em outras cidades ligue (21) 8112-9988
[As partes desta mensagem que não continham texto foram removidas]
Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
Celebridades - Música - Esportes
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] duas condições com um if,
denis costa <=