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 gesamten Skript darauf verweisen.
Um eine Variable innerhalb eines Skripts zu erstellen, verwende dieselbe Syntax, die du für das Terminal gelernt hast: keine Leerzeichen um das Gleichheitszeichen. Um den Wert der Variable zu verwenden, stelle 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 beim Ausführen des Skripts ersetzt wird.
Variablen werden 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, die Leerzeichen enthalten, korrekt verarbeitet werden. Ohne Anführungszeichen würde ein Pfad wie /my documents deinen Befehl unterbrechen.
Variablen in Skripten funktionieren genau wie im Terminal, aber sie existieren nur, während das Skript läuft. 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 (
#!/bin/bash) beginnen - 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 wie folgt aussehen:
Learning Bash scripting!Setze jede von dir geschriebene Zeile in einfache Anführungszeichen:
echo 'echo "Hello $name"' >> script.sh. Einfache Anführungszeichen verhindern, dass die Shell$namebeim Schreiben der Datei ersetzt. Dadurch behält das Skript die Variable und ersetzt sie erst bei der Ausführung. Doppelte Anführungszeichen würden den Wert sofort einsetzen.
Hinweis: Erstelle das Skript mit
echound einer Umleitung. Denke daran, in deiner echo-Anweisung mit$auf Variablen zu verweisen, zum Beispiel mitecho "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