Variablen in Skripten
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 68 von 82.
Variablen machen deine Skripte flexibel und wiederverwendbar. Anstatt Werte fest zu codieren, kannst du sie in Variablen speichern und in deinem Skript darauf verweisen.
Um innerhalb eines Skripts eine Variable zu erstellen, verwendest du dieselbe Syntax, die du für das Terminal gelernt hast: keine Leerzeichen um das Gleichheitszeichen. Um den Wert der Variable zu verwenden, stellst du ihrem Namen ein Dollarzeichen voran:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Dieses Skript gibt Hello, World! aus. Die Variablen greeting und name speichern Text, der ersetzt wird, wenn das Skript ausgeführt wird.
Variablen sind besonders nützlich, wenn du denselben Wert mehrmals verwenden musst. Wenn du an mehreren Stellen auf einen Dateipfad verweist, bedeutet das Speichern in einer Variablen, dass du ihn nur einmal ändern musst:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Beachte die Anführungszeichen um "$backup_dir". Variablen in doppelte Anführungszeichen einzuschließen ist eine gute Praxis, da dadurch Pfade oder Werte mit Leerzeichen korrekt verarbeitet werden. Ohne Anführungszeichen würde ein Pfad wie /my documents deinen Befehl beschädigen.
Variablen in Skripten funktionieren genau wie im Terminal, aber sie existieren nur, während das Skript ausgeführt wird. Sobald das Skript beendet ist, verschwinden diese Variablen.
Aufgabe
EinfachErstelle ein Shell-Skript namens intro.sh, das Variablen verwendet, um eine personalisierte Nachricht anzuzeigen.
Dein Skript sollte:
- Mit der Shebang-Zeile beginnen (
#!/bin/bash) - Eine Variable namens
languagemit dem WertBasherstellen - Eine Variable namens
skillmit dem Wertscriptingerstellen echoverwenden, um beide Variablen im folgenden Format auszugeben:Learning Bash scripting!
Mach das Skript ausführbar und führe es aus. Deine Ausgabe sollte so aussehen:
Learning Bash scripting!Setze jede Zeile, die du schreibst, in einfache Anführungszeichen:
echo 'echo "Hello $name"' >> script.sh. Einfache Anführungszeichen verhindern, dass die Shell$nameersetzt, während die Datei geschrieben wird. So bleibt die Variable im Skript erhalten und wird beim Ausführen erweitert. Doppelte Anführungszeichen würden den Wert sofort einsetzen.
Tipp: Erstelle das Skript mit
echound einer Umleitung. Denke daran, Variablen in deiner echo-Anweisung mit$zu referenzieren, zum Beispielecho "Learning $language $skill!"
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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