Я видел тест скриптов 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