2398348

Anführungszeichen in Bash: Doppelt oder einfach?

01.02.2019 | 15:05 Uhr | David Wolski

Anführungszeichen zeigen der Shell, dass eine Zeichenkette trotz enthaltener Leerzeichen zusammengehört. Die Shell versteht dabei einfache (') wie doppelte Anführungszeichen ("). Im Detail weisen beide Varianten aber Unterschiede auf.

Wann immer eine Zeichenkette in der Kommandozeile zusammenhängend interpretiert werden soll, helfen Anführungszeichen beider Art. So legen folgende Befehle je eine „Datei 1“ an:

touch "Datei 1"
touch 'Datei 1' 

Bei Variablen verhalten sich die Anführungszeichen anders. Während ein doppeltes Anführungszeichen (") Variablen mit deren Inhalt ersetzt, belassen es die einfachen Zeichen (') wortwörtlich bei dem Variablennamen:

echo "$HOME"  

Der Befehl gibt das Home-Verzeichnis des gerade angemeldeten Benutzers aus, während

echo '$HOME'  

einfach die Zeichenkette „$HOME“ zurückgibt.

Tipp: Clevere Terminal- und Bash-Tricks für Linux

Sonderfall Backticks: Eine dritte Kategorie von weniger gebräuchlichen Anführungszeichen sind eigentlich keine, sondern Akzent-Zeichen (`). Die als „Backticks“ bekannten Zeichen umfassen in der Linux-Kommandozeile ganze Befehle, deren Ausgabe als Zeichenkette dienen soll. So gibt

echo `whoami` 

durch den Befehl whoami den eigenen Benutzernamen zurück.

Wichtig werden Backticks in kompakten Shell-Scripts oder länglichen Einzeilern. Backticks sind in allen populären Linux-Shells bekannt (Bash, Dash, ZSH), aber von ihrer Verwendung wird wegen schlechter Lesbarkeit des Quellcodes abgeraten.

PC-WELT Marktplatz

2398348