Trädvy Permalänk
Medlem
Plats
sdfhh
Registrerad
Mar 2008

Hjälp med until i bash

Jag är nybörjare på det här med att skriva script. Har fram tills nu ändå lyckats lösa mina problem med google. Dock så har jag stött på något som jag inte har lyckats klura ut. Därför vänder jag mig till er för att få hjälp.

Scriptet går ut på att ändra färg på en bild, detta har jag löst. Men jag vill att en användare ska kunna ange denna färg. För att säkerställa att användaren har angett ett korrekt värde hade jag tänkt att använda mig av en "until loop".

#! usr/bin/bash read input until [ $input = #?????? ]; do echo "Inccorect input" read input done

Färgen ska anges i hexadecimal form alltså ska $input ha värdet "#??????" för att scriptet ska komma förbi loopen. "?" står för 0-9, a-f, A-F.

Problemet är att jag inte vet hur jag ska skriva för att scriptet ska "förstå" vilka värden "#??????" kan ha samt att "#" tecknet gör att resten av den raden till en kommentar. Skulle även kunna använda ett vanligt wildcard för singel tecken i stället för "?", men det är inte en lösning jag skulle vara helt nöjd med. Vet nån vilket tecken som är wildcard i det här fallet?

Om jag är helt ute och cyklar så föreslå gärna en alternativ lösning på problemet.

//Isak

edit: Efter ytterligare några timmars googlande så löste jag problemet. Ska tydligen vara ett extra "[ ]" omkring $input = "#"?????? . -___-