Portabler Weg, die Leere einer Shell-Variablen zu überprüfen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Warum verwenden Shell-Skriptvergleiche häufig x $ VAR = xyes? 7 Antworten

Wie kann portabel und kanonisch getestet werden, ob eine Variable in einem Shell-Skript leer / undefiniert ist? Es sollte in allen Sh-ähnlichen Shells funktionieren. Was ich jetzt mache, ist so etwas wie:

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

und für den umgekehrten Fall, wenn die Variable nicht leer / undefiniert ist:

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

Und während diese für die Skripte arbeiten, die ich jetzt schreibe,Ich würde gerne einen Weg kennen, der in vertretbarer Weise funktioniertSch-ähnliche Schale, auch in einer etwas unklareren Umgebung als einem Linux - PC mit GNU userland undbash oderStrich.

Ich bin auf der Suche nach einer "Expertenantwort" von jemandem, der Erfahrung in verschiedenen Shell-Umgebungen hat und die Fallstricke verschiedener Vorgehensweisen kennt, und nicht nach einer Meinung wie "das sollte funktionieren".

Antworten auf die Frage(5)

Ihre Antwort auf die Frage