Zusammenfassung - Zahlenraten
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 73 von 82.
Aufgabe
EinfachErstelle ein Shell-Skript namens guesser.sh, das ein Zahlenschätzspiel mit einer festgelegten Folge von Schätzungen simuliert.
Dein Skript sollte:
- Mit der Shebang-Zeile beginnen (
#!/bin/bash) - Eine Variable namens
secretmit dem Wert5festlegen - Eine Variable namens
guessmit dem Anfangswert0festlegen - Eine while-Schleife verwenden, die fortgesetzt wird, solange
guessnicht gleichsecretist - Innerhalb der Schleife
guessum 1 erhöhen - Eine if-Anweisung verwenden, um die Schätzung zu überprüfen:
- Wenn
guesskleiner alssecretist, ausgeben:Guess [guess]: Too low! - Wenn
guessgleichsecretist, ausgeben:Guess [guess]: Correct!
- Wenn
Mach das Skript ausführbar und führe es aus. Deine Ausgabe sollte sein:
Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!Ein mehrzeiliges Skript mit einem
echopro Zeile funktioniert, aber es gibt einen kürzeren Weg: Ein Here-Dokument schreibt alles bis zum abschließenden Wort direkt in die Datei.cat > script.sh << 'EOF' #!/bin/bash echo "hello" EOFDie Anführungszeichen um
'EOF'verhindern, dass$variableserweitert werden, während die Datei geschrieben wird. Genau das brauchst du, wenn das Skript selbst diese Variablen verwendet.
Hinweis: Verwende
-nefür „nicht gleich“ in der while-Bedingung,-ltfür „kleiner als“ in der if-Anweisung und-eqfür „gleich“. Erhöhe die Schätzung am Anfang jeder Schleifeniteration mitguess=$((guess + 1)).
Probier es selbst
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei13Grundlagen der Shell-Skripte
Was ist ein Shell-SkriptEin Skript erstellen und ausführenVariablen in SkriptenBenutzereingabe in SkriptenIf-AnweisungFor-SchleifeWhile-SchleifeZusammenfassung - Zahlenraten2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-PipelineÜbe selbstständig: Terminal-Playground