Grundlagen von Linux und der Kommandozeile
$ name=world
$ echo 'Hello $name'
$ echo "Hello $name"Welche Ausgaben erzeugen die beiden echo-Befehle, wenn die obigen Befehle nacheinander ausgeführt werden?
- ADie erste ist Hello world, die zweite Hello $name
- BSowohl die erste als auch die zweite ist Hello world
- CDie erste ist Hello $name, die zweite Hello world
Antwort und Erläuterung anzeigen
Antwort: C. Die erste ist Hello $name, die zweite Hello world
In der Shell wird ein in einfache Anführungszeichen ('…') eingeschlossener Teil wörtlich genommen, und eine Variable wie $name wird nicht expandiert. Innerhalb doppelter Anführungszeichen ("…") werden Variablen expandiert, daher lautet die zweite Ausgabe Hello world. Doppelte Anführungszeichen dienen auch dazu, den Wert einer Variable als ein einziges Argument zu behandeln, selbst wenn er Leerzeichen enthält. Bei der Zuweisung „name=world“ dürfen um das = übrigens keine Leerzeichen stehen.
Weiter: 9 weitere Fragen zu Grundlagen von Linux und der Kommandozeile