yandros
03.12.2004, 15:48
Moin!
ich beiße mir an der Geschichte schon seit über einer Stunde die Zähne aus und hoffe das irgend jemand eine Lösung parat hat.
Folgendes Szenario:
Mein Shellscript fordert den Benutzer auf eine Eingabe zu machen. Bei "j" oder "n" soll das Script weiterlaufen; wird eine andere Taste gedrückt soll die Frage erneut gestellt werden: Hier das Codesegment:
while [ $dhcp != "j" || $dhcp != "n" ] ; do
echo -ne "DHCP verwenden ? [j/n] "
read dhcp
done
Das Ergebnis: Die Schleife läuft ewig weiter; auch bei Eingabe von "j" oder "n". Mit folgender Veränderung:
while [ $dhcp != "j" ] ; do
kann ich mit Eingabe eines "j" aus der Schleife springen, also gehe ich davon aus, dass die OR Verkettung nicht funktioniert.
Die Alternative mit regex funktioniert ebenfalls nicht:
while (echo $dhcp | egrep !^(j|n)$) ; do
echo -ne "DHCP verwenden ? [j/n] "
read dhcp
done
Wahscheinlich handelt es sich bei beiden Möglichkeiten nur um ein Syntaxproblem aber ich kann den Fehler nicht entdecken :confused:
Gruß Jens
ich beiße mir an der Geschichte schon seit über einer Stunde die Zähne aus und hoffe das irgend jemand eine Lösung parat hat.
Folgendes Szenario:
Mein Shellscript fordert den Benutzer auf eine Eingabe zu machen. Bei "j" oder "n" soll das Script weiterlaufen; wird eine andere Taste gedrückt soll die Frage erneut gestellt werden: Hier das Codesegment:
while [ $dhcp != "j" || $dhcp != "n" ] ; do
echo -ne "DHCP verwenden ? [j/n] "
read dhcp
done
Das Ergebnis: Die Schleife läuft ewig weiter; auch bei Eingabe von "j" oder "n". Mit folgender Veränderung:
while [ $dhcp != "j" ] ; do
kann ich mit Eingabe eines "j" aus der Schleife springen, also gehe ich davon aus, dass die OR Verkettung nicht funktioniert.
Die Alternative mit regex funktioniert ebenfalls nicht:
while (echo $dhcp | egrep !^(j|n)$) ; do
echo -ne "DHCP verwenden ? [j/n] "
read dhcp
done
Wahscheinlich handelt es sich bei beiden Möglichkeiten nur um ein Syntaxproblem aber ich kann den Fehler nicht entdecken :confused:
Gruß Jens