Warum setzen bedingte Anweisungen in autoconf-Skripts ihre Variablen mit "x" voran? Zum Beispiel durch GNU das Makro für Boost-conditionals testen zur Verfügung gestellt, wieWarum prädizieren Bedingungen in autoconf-Skripten Variablen mit "x"?
hatif test "x$want_boost" = "xyes"; then
Warum ist dies nicht definiert als:
if test "$want_boost" = "yes"; then
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 "' –
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