Was ist die Ausgabe der Kommandofolge
FOO=bar
FOO=quux echo $FOO
in der bash?
Die Zeichenkette bar
Die Zeichenkette quux
Die Zeichenkette $FOO
Eine Fehlermeldung -- das zweite Kommando ist syntaktisch falsch
LPI-Lernziel Auf der Kommandozeile arbeiten (103.1)
Diese Frage ist echt gemein. Man könnte sich auf den Standpunkt stellen,
dass in der zweiten Zeile erst die Variable FOO auf den Wert quux
gesetzt und der Wert von FOO anschließend ausgegeben wird, also Antwort 2
richtig wäre. Das ist aber nicht der Fall. Denken Sie daran, dass eine
Extra-»Zuweisung« am Anfang eines Kommandos die betreffende Variable für
dieses Kommando in die Prozessumgebung stellt. Das passiert aber erst,
nachdem im Kommando ansonsten die Variablenbezüge ersetzt worden sind, und
dabei hat FOO natürlich seinen alten Wert aus der Zeile davor. Unter dem
Strich wird also
FOO=quux echo bar
ausgeführt -- Antwort 1 ist richtig.
Wenn Sie glauben, Antwort 3 wäre es gewesen, sollten Sie sich über Shellvariable bilden; wer an Antwort 4 denkt, ist fantasielos :^)
Nicht angemeldet