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 odpowiedziJaki 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ć”.