Q: Что означает «-» в сценариях bash? - PullRequest
0 голосов
/ 29 апреля 2020
if [ -n "${GITHUB_WORKFLOW-}" ];then

В приведенном выше коде этот символ '' 'не влияет на результат. Почему этот символ существует здесь? Что еще он делает?

1 Ответ

1 голос
/ 29 апреля 2020

См. Расширение параметра в man bash. Он использует пустое значение по умолчанию, если переменная не установлена.

${parameter:-word} Использовать значения по умолчанию. Если parameter не установлено или равно нулю, расширение word заменяется. В противном случае подставляется значение parameter.

, а вышеприведенный абзац

Если пропустить двоеточие, проверка только для параметра, который не установлен

...