Dlaczego porównania skryptów powłoki często używają x $ VAR = xyes?
Widzę to często w skryptach budowania projektów, które używają autotools (autoconf, automake). Kiedy ktoś chce sprawdzić wartość zmiennej powłoki, często używa tego idiomu:
if test "x$SHELL_VAR" = "xyes"; then
...
Co to za przewaga nad zwykłym sprawdzeniem takiej wartości:
if test $SHELL_VAR = "yes"; then
...
Sądzę, że musi istnieć jakiś powód, dla którego tak często to widzę, ale nie wiem, co to jest.