Проверка строки ненулевой длины в 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