Ich bin ziemlich neu in Shell-Skripten, aber ich möchte ein einfaches Skript schreiben, in dem die Bash-Datei je nach Benutzereingabe eine andere Textzeile wiedergibt. Zum Beispiel, wenn das Skript den Benutzer fragt "Sind Sie da?" und die Benutzereingabe ist "Ja" oder "Ja", dann würde das Skript so etwas wie "Hallo!" wiedergeben. Wenn die Benutzereingabe jedoch "Nein" oder "Nein" lautet, gibt das Skript etwas anderes wieder. Und schließlich, wenn die Benutzereingabe etwas anderes als Ja / Ja oder Nein / Nein ist, würde das Skript "Bitte antworten Sie mit Ja oder Nein" wiedergeben. Folgendes habe ich bisher:
echo "Are you there?"
read $input
if [ $input == $yes ]; then
echo "Hello!"
elif [ $input == $no ]]; then
echo "Are you sure?"
else
echo "Please answer yes or no."
fi
Unabhängig von der Eingabe erhalte ich jedoch immer die erste Antwort ("Hallo!")
Außerdem möchte ich Text in die Sprache integrieren (wie ich es bei anderen Bash-File-Projekten mit Festival getan habe). In anderen Bash-Dateien habe ich es so gemacht:
echo "Hello!"
echo "Hello!" | festival --tts
Gibt es eine Möglichkeit, dies in die obige Eingabeaufforderung if then / yes no aufzunehmen? Vielen Dank im Voraus, ich verwende dies, um einfache Bash-Dateien zu erstellen und mir selbst beim Lernen zu helfen.
set -x
oben auszuführen , um die Diagnoseausgabe anzuzeigen.