2012-06-29 4 views

Antwort

7

In einigen frühen Muscheln, die Prüfung auf einen leeren String-Variable wasn‘ So einfach wie es jetzt ist, so war die beste Alternative zu sehen, ob "x $ variable" gleich "x" war. Da das anscheinend test ist, ist das einfacher als zu versuchen, Sequenzen wie '$ x! = "Y" richtig zu quotieren/zu entschlüsseln, ohne die Vernunft und/oder Portabilität zu verlieren.

+2

Um zu verdeutlichen: "war nicht so einfach wie es jetzt ist" bedeutet, dass viele Shells fehlerhaft waren und Befehle mit einer leeren Zeichenfolge wie "test" "=" foo "' –

+1

nicht richtig auswerten Wenn "$ variable" zu etwas erweitert wird, das mit einem Bindestrich beginnt, ist "test" das möglicherweise als eine Option und nicht als eine zu vergleichende Zeichenfolge zu interpretieren. In modernen Shells hat das Gleichheitszeichen Vorrang, aber es war nicht immer so. – zwol

Verwandte Themen