Toon posts:

[ShellScript] Variabele checken op aantal characters

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedemiddag,

Ik heb een vraag over een Shell script:

Ik heb dit :

echo "Voer begin dag in (01-31) :"
read begindag
while [ "$begindag" -gt "31" ]
do
echo"Voer dagcijfer in tussen 01 en 31"
read begindag
done

Nu wil ik het dus zo hebben, dat de gebruiker alleen : 01,02,03,04,05,06 t/m 31 kan invoeren.
Dus als de gebruiker 8 intypt dat hij dan in de "loop" terecht komt...

Ik heb nu dus al dat als de gebruiker 32 of meer intypt in de "loop" komt, maar ik wil dus dat de gebruiker 2 characters moet intypen die niet onder 01 of boven 31 uitkomen

Kan iemand mij advies geven?? want ik kom er niet uit.

Alvast bedankt! :)

Verwijderd

Waarom een gebruiker dwingen 08 ipv 8 in te tikken terwijl je net zo goed die 0 er zelf voor kan zetten?

Heel simpel en dirty:
code:
1
2
3
4
if [ ${#a} -eq 1 ]
then
  a=0$a
fi

Maar mooier zou het zijn om het met een regexp te doen.

[ Voor 6% gewijzigd door Verwijderd op 18-01-2006 15:07 ]


Verwijderd

Topicstarter
hmm...ik heb dat stukje tussen mijn read en while statement geplaatst...

En aan het einde een echo van $begindag

Maar als ik 6 intyp dan laat hij nog steeds 6 zien ipv 06

Verwijderd

Vergeet niet dat je $a moet vervangen door $begindag...

Verwijderd

Topicstarter
Dus dan zou het zo moeten zijn?

if [ $begindag{#a} -eq 1 ]
then
a=0$begindag
fi

Verwijderd

Topicstarter
Ik heb hem al! :)


Bedankt jeroenr! _/-\o_
Pagina: 1