Bash: Exit-Code der Variablenzuweisung zur Befehlssubstitution

Ich bin verwirrt darüber, was als Fehler-code das Kommando gibt bei der Ausführung eine variable Zuordnung klar und deutlich und mit command substitution:

a=$(false); echo $?

Gibt es 1die lassen mich denken, dass variable Zuweisung nicht fegen oder produzieren neue Fehler-code, der auf dem letzten. Aber als ich versuchte dieses:

false; a=""; echo $?

Gibt es 0dies ist offensichtlich, was a="" gibt und es überschreiben 1 zurückgegeben false.

Möchte ich wissen, warum dies geschieht, ist es keine Besonderheit in der Variablen Zuordnung, unterscheidet sich von anderen normalen Befehlen? Oder einfach nur Ursache a=$(false) ist als mit einem einzigen Befehl nur Substitutionen Teil Sinn?

-- UPDATE --

Danke an alle, aus der Antworten und Kommentare, ich habe den Punkt, "Wenn Sie einer Variablen zuweisen mit dem Befehl substitution, der exit-status ist der status des Befehls." (von @Barmar), diese Erklärung ist hervorragend klar und einfach zu verstehen, aber Sie sprechen nicht präzise genug für den Programmierer möchte ich sehen, der Hinweis von diesem Punkt aus Behörden wie der TLDP-oder GNU-Mann-Seite, bitte helfen Sie mir, finden Sie es heraus, nochmals vielen Dank!

InformationsquelleAutor der Frage Reorx | 2013-11-23

Schreibe einen Kommentar