Проверить строку ненулевой длины в 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
160
задан Peter Mortensen 23 October 2019 в 12:03
поделиться