Variablen in Skripten
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 68 von 82.
Variablen machen Ihre Skripte flexibel und wiederverwendbar. Anstatt Werte fest einzukodieren, können Sie sie in Variablen speichern und sie durchgängig in Ihrem Skript referenzieren.
Um eine Variable innerhalb eines Skripts zu erstellen, verwenden Sie die gleiche Syntax, die Sie für das Terminal gelernt haben: keine Leerzeichen um das Gleichheitszeichen. Um den Wert der Variable zu verwenden, präfixieren Sie ihren Namen mit einem Dollarzeichen:
#!/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 eingesetzt wird.
Variablen werden besonders nützlich, wenn Sie denselben Wert mehrmals verwenden müssen. Wenn Sie einen Dateipfad an mehreren Stellen referenzieren, bedeutet die Speicherung in einer Variable, dass Sie ihn nur einmal ändern müssen:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Beachten Sie die Anführungszeichen um "$backup_dir". Variablen in doppelte Anführungszeichen zu setzen ist eine gute Praxis, da es Pfade oder Werte, die Leerzeichen enthalten, korrekt behandelt. Ohne Anführungszeichen würde ein Pfad wie /my documents Ihren Befehl kaputtmachen.
Variablen in Skripten funktionieren genau wie im Terminal, aber sie existieren nur, solange das Skript läuft. Sobald das Skript beendet ist, verschwinden diese Variablen.
Aufgabe
EinfachErstellen Sie ein Shell-Skript namens intro.sh, das Variablen verwendet, um eine personalisierte Nachricht anzuzeigen.
Ihr 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 Format auszugeben:Learning Bash scripting!
Machen Sie das Skript ausführbar und führen Sie es aus. Ihre Ausgabe sollte sein:
Learning Bash scripting!Tipp: Erstellen Sie das Skript mit
echound Umleitung. Denken Sie daran, Variablen in Ihrerecho-Anweisung mit$zu referenzieren, wieecho "Learning $language $skill!"
Spickzettel
Variablen in Bash-Skripten speichern Werte, die im gesamten Skript referenziert werden können. Erstellen Sie Variablen ohne Leerzeichen um das Gleichheitszeichen, und greifen Sie auf ihre Werte zu, indem Sie den Variablennamen mit $ voranstellen:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Schließen Sie Variablen immer in doppelte Anführungszeichen ein, um Werte mit Leerzeichen korrekt zu handhaben:
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Variablen existieren nur während der Ausführung des Skripts und verschwinden, wenn es beendet ist.
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