Я видел, как сценарии 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