Аутентификация с dovecot

Расширение переменной $ {parameter: -word} будет использовать значение $ parameter , если оно установлено и не равно нулю (не пустая строка), в противном случае будет использоваться строка слово .

Отсутствие : не будет проверять, является ли значение пустым, а проверяется только то, не установлено оно или нет.

Это означает, что $ {PS1 -} будет расширяться до значения $ PS1 , если оно установлено, но до пустой строки, если оно пусто или не установлено. В данном случае это , точно такое же , что и $ {PS1: -} , поскольку строка после - также пуста.

Разница между "$ {PS1 -}" и "$ PS1" незначительна, как отмечает @Rakesh Sharma: оба будут расширяться до значения $ PS1 или в пустую строку, если она не задана. Исключение составляют случаи, когда set -u активен, в этом случае раскрытие неустановленных переменных вызовет ошибку . (Пустое) значение по умолчанию, установленное "$ {PS1 -}" , позволяет обойти это, без ошибок заменяя неустановленное PS1 на пустую строку.

Это стандартный синтаксис ( возник в оболочке Bourne в конце 70-х ), как и пара других подобных расширений.

5
30.09.2016, 18:57
0 ответов

Теги

Похожие вопросы