Ich arbeite an einem Skript ... Ich weiß nicht, was damit nicht stimmt ...
!#/bin/bash
while="true"
while ($while == "true") do
clear
echo "What game would you like to play?"
echo "1. Tetris (bastet)"
read number -P "Enter Number:"
if ( $number == "1" ) then
bastet
clear
read again -P "Would you like to play another game? [y/n]:"
if ($again == "n") then
exit
fi
fi
done
dies ist meine Ausgabe (die sich wiederholt):
What game would you like to play?
1. Tetris (bastet)
ohne die Eingabeaufforderung des Lesebefehls
Antwort1
Hier macht ein gutes tabellarisches Codeformat den Unterschied, wenn es darum geht, Ihre Probleme und Fehler zu erkennen. Das Problem ist, dass Ihrif-Anweisunglässt das Skript niemals aus der Schleife springen. Außerdem fehlen Ihnen einige Echos und all die anderen Dinge, die steeldriver und user4556274 angegeben haben.
Ich habe das, was Sie geschrieben haben, nicht wirklich NEU CODIERT, damit Sie trotzdem ein Gefühl dafür bekommen, wo Ihr Fehler lag.
Siehe meine Überarbeitung:
#!/bin/bash
flag="true"
while [ $flag == "true" ]; do
clear
echo "What game would you like to play?"
echo "1. Tetris (bastet)"
read number -P "Enter Number:"
if [ $number -eq "1" ]; then
bastet
fi
clear
echo "Would you like to play another game? [y/n]:"
read again -P
if [ $again -eq "n" ]; then
exit 1
fi
done
Antwort2
Es gibt noch ein paar andere Dinge, die mit Ihrem Skript nicht stimmen. Um jedoch Ihre spezielle Frage zu „read“ zu beantworten, ist die Syntax in mehrerer Hinsicht falsch:
Versuchen Sie es read -p "Enter Number:" number
stattdessen
Hierist eine nützliche Seite überlesen