Przenośny sposób sprawdzania pustości zmiennej powłoki [duplikat]

To pytanie ma już tutaj odpowiedź:

Dlaczego porównania skryptów powłoki często używają x $ VAR = xyes? 7 odpowiedzi

Jaki jest przenośny i kanoniczny sposób testowania, czy zmienna jest pusta / niezdefiniowana w skrypcie powłoki? Powinien działać we wszystkich skorupach podobnych do sh. Teraz robię coś w stylu:

if [ -z "$var" ] ; then
    ...

i odwrotnie, robienie czegoś, gdy zmienna nie jest pusta / niezdefiniowana:

if [ -n "$var" ] ; then
    ...

I podczas gdy te działają dla skryptów, które teraz piszę,Chciałbym wiedzieć, w jaki sposób będzie działać w każdym rozsądnie kompatybilnymshjak skorupa, nawet w jakimś mało znanym środowisku niż Linux PC z GNU userland igrzmotnąć lubdziarskość.

Szukam „odpowiedzi eksperta” od kogoś, kto ma doświadczenie w różnych środowiskach powłoki i zna pułapki różnych sposobów robienia rzeczy, a nie opinię, która „powinna działać”.

questionAnswers(5)

yourAnswerToTheQuestion