[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:[shell-script] Digite um número...
From: |
MrBiTs |
Subject: |
Re:[shell-script] Digite um número... |
Date: |
Wed, 7 Sep 2005 07:33:14 -0300 |
> Estou tentando fazer um script da seguinte maneira:
>
> ===================================================
> #!/bin/bash
> #
> echo "Digite um número entre 1950 e 2000: \c"
> read Num
> if [ o nr digitado está entre 1950 e 2000 ]
> then
> break
> else
> echo "O nr nao está ente 1950 e 2000"
> echo "Tecle para sair."
> read
> fi
> ===================================================
>
> A idéia é que o scrip aceite somente valores entre 1950 e 2000
> e rejeite as demais informações.
Como já diria Mestre Yoda: There is no try. Do, or do not. "Estar tentando" é
gerundismo.
Seu problema está mais para lógica do que para shell-script em sí. Em um
algorítmo qualquer, faríamos:
Início
Variavel numero: inteiro;
Escreva "Digite um número: ";
Leia numero;
Se numero >= 1950 E numero <= 2000 entao
Escreva "Numero aceito";
Senao
Escreva "Numero invalido";
Fim Se
Final
Certo ? É o mesmo em shell. O pulo do gato está em construir um if [ $numero
-ge 1950 -a $numero -le 2000 ]. Isso é o básico. Verifique em manuais e
tutoriais de shell todos os operadores lógicos e de comparação que você possui.
No nosso exemplo, -ge é maior ou igual ( greather equal ), -le é menor ou igual
( less equal ) e -a é o E ( and ) lógico.
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re:[shell-script] Digite um número...,
MrBiTs <=