Bash-Scripting
Variablen und Quoting
Viele Bash-Fehler entstehen nicht durch komplizierte Logik, sondern durch falsches Quoting und unerwartete Expansion.
Nur wenn Sie diesen Button verwenden, wird Ihr Lernfortschritt lokal in diesem Browser gespeichert. Es erfolgt keine Übertragung an den Server.
Variablen setzen und lesen
Bei einer Zuweisung stehen um das Gleichheitszeichen keine Leerzeichen. Mit $name oder ${name} wird der Wert expandiert.
name='Ada Lovelace'
printf '%s\n' "$name"Doppelte und einfache Anführungszeichen
In doppelten Anführungszeichen werden Variablen und Command Substitution expandiert. Einfache Anführungszeichen schützen den Inhalt weitgehend vor Expansion.
dir='/tmp/my files'
printf '%s\n' "$dir"
printf '%s\n' '$dir'Praktische Regel
Quote Variablenexpansionen standardmäßig: "$file" statt $file. Das schützt Leerzeichen und viele Sonderzeichen in Dateinamen.
Übung
Jetzt selbst ausprobieren
Legen Sie `f="ein dateiname.txt"` an und geben Sie den Wert sicher als ein Argument aus.
Lösung / Hinweis anzeigen
`printf "<%s>\n" "$f"` bewahrt den Variablenwert als ein Argument.
Wissenscheck
Welche Schreibweise schützt Leerzeichen in einem Variablenwert normalerweise?
Doppelte Quotes erlauben Expansion, verhindern aber normale Wortaufteilung des Ergebnisses.
Mit Trainer vertiefen
Dieses Thema als Schulung?
Auf linux-kurse.eu finden Sie Linux-, Administrations- und Bash-Schulungen von Bodenseo.
Linux-Schulungen ansehen