Exit-code der variable Zuordnung Kommando-substitution in Bash

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 1, die lassen mich denken, dass variable Zuweisung nicht fegen oder produzieren neue Fehler-code, der auf dem letzten ein. Aber als ich versuchte dieses:

false; a=""; echo $?

Gibt es 0, dies 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!

  • TLDP ist keine zuverlässige Quelle-das ABS ist geradezu berüchtigt für die Präsentation von schlechten Praktiken in bash viel wie w3schools ist in der JavaScript-Welt.
InformationsquelleAutor Reorx | 2013-11-23
Schreibe einen Kommentar