¿Por qué las sentencias condicionales en los scripts de autoconf llevan sus variables a una prefijo "x"? Por ejemplo, la macro proporcionada por GNU para la prueba de Boost tiene condicionales tales como¿Por qué los condicionales en los scripts de autoconf marcan las variables con "x"?
if test "x$want_boost" = "xyes"; then
¿Por qué es esto no define como:
if test "$want_boost" = "yes"; then
Para aclarar: "no era tan fácil como ahora" significa que muchas conchas tenían errores y no evaluaban correctamente los comandos con una cadena vacía como 'test" "=" foo "' –
La * otra * razón esto Es necesario que si '$ variable' se expande a algo que comience con un guión,' test' pueda interpretar eso como una opción en lugar de una cadena para comparar. En las conchas modernas, el signo igual tiene prioridad, pero no siempre fue así. – zwol