Test für Zeichenfolge ungleich Null in Bash: [-n “$ var”] oder [“$ var”]

Ich habe gesehen, wie Bash-Skripte auf zwei verschiedene Arten auf Zeichenfolgen ungleich Null getestet wurden. Die meisten Skripte verwenden die Option -n:

#!/bin/bash
# With the -n option
if [ -n "$var" ]; then
  # Do something when var is non-zero length
fi

Aber die Option -n wird nicht wirklich benötigt:

# Without the -n option
if [ "$var" ]; then
  # Do something when var is non-zero length
fi

as ist der bessere We

Ahnlich, was ist der bessere Weg zum Testen auf Länge Null:

if [ -z "$var" ]; then
  # Do something when var is zero-length
fi

ode

if [ ! "$var" ]; then
  # Do something when var is zero-length
fi