Проверка строки ненулевой длины в Bash: [-n «$ var»] или [«$ var»]

Я видел тесты bash-скриптов для строки с ненулевой длиной двумя разными способами. Большинство сценариев используют опцию -n:

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

Но опция -n на самом деле не нужна:

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

Какой способ лучше?

Аналогично, это лучший способ для тестирования нулевой длины:

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

или же

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

Ответы на вопрос(3)

Ваш ответ на вопрос