Я встречал код, который использует этот синтаксис в условии if:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
Проверяет ли он непустую переменную? Если да, то чем он отличается от ! -z "$VARIABLE"
?
Я встречал код, который использует этот синтаксис в условии if:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
Проверяет ли он непустую переменную? Если да, то чем он отличается от ! -z "$VARIABLE"
?
См. РАСШИРЕНИЕ ПАРАМЕТРОВ в man bash
:
${parameter:+word}
Используйте альтернативное значение. Если
parameter
имеет значение null или не установлено, ничего не заменяется, в противном случае подставляется расширениеword
.
И несколько абзацев выше в том же разделе:
Отсутствие двоеточия приводит к тестированию только для параметра, который не установлен.