Widziałem następującą technikę stosowaną wiele razy w wielu różnych powłokach, aby sprawdzić, czy zmienna jest pusta:
if [ "x$1" = "x" ]; then
# Variable is empty
fi
Czy są jakieś zalety korzystania z tego w porównaniu z bardziej kanonicznymi if [ -z "$1" ]
? Czy może to być problem z przenośnością?
sh
na niektórych komercyjnych Uniksach nadal mają problem. Zobacz tutaj po szczegóły.