Dlaczego instrukcje warunkowe w skrypcie autoconf poprzedzają zmienne "x"? Na przykład, makro dostarczone przez GNU przetestować Boost posiada warunkowe takie jakDlaczego warianty warunkowe w skrypcie autoconf zmieniają przedrostek zmiennych na "x"?
if test "x$want_boost" = "xyes"; then
Dlaczego nie jest to zdefiniowane jako:
if test "$want_boost" = "yes"; then
Wyjaśnienie: "nie było tak proste, jak jest teraz" oznacza, że wiele skorup było błędnych i nie oceniało poprawnie poleceń za pomocą pustego ciągu, np. 'Test" "=" foo "' –
* inny * powód Konieczne jest to, że jeśli '$ zmienna' rozszerza się do czegoś, co zaczyna się od myślnika,' test' może zinterpretować to jako opcję, a nie ciąg do porównania. W nowoczesnych powłokach pierwszeństwo ma znak równości, ale nie zawsze tak było. – zwol