Hallo Ich versuche, den folgenden Code in Unix auszuführen, aber das Skript wird in Endlosschleife. Obwohl der Code perfekt sein aussieht, bin ich nicht in der Lage, den Fehler zu debuggen:Unix While-Loop-Shell-Skript
case "$anymore" in
statt:
answer=y
while [ "$answer" = "y" ]
do
echo " Enter the word and filename"
read pname flname
grep "$pname" "$flname" > newlist
echo " Enter any more string to be searched (y/n)? "
read anymore
case anymore in
y) answer=y ;;
n) answer=n ;;
esac
done
Ihnen fehlt das Dollarzeichen auf der Variablen. 'case $ among' pro' case again', welches nur die statische Zeichenkette "more" untersucht. Abstimmung zum Schließen als einfacher Tippfehler. – tripleee
auch "lesen" ohne '-r" wird Backslashes mangle. Sollte hier sowieso kein Thema sein. – sjsam