Говоря как новичок в bash, я обновлял свой .bashrc через copy / paste + github, и я столкнулся с :
командой, которая ставит меня в тупик и google. например : ${USER_BASH_COMPLETION_DIR:=~/.bash_completion.d}
.
Без этого утверждения изначально в моем .bashrc и ввода этого материала в мой терминал ( -> указывает на соответствующий вывод):
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> /Users/sh/.bash_completion.d
А также:
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
echo $USER_BASH_COMPLETION_DIR
-> asdf
Но:
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> asdf
Я не понимаю!
1) Как команда двоеточия устанавливает переменную, но не может перезаписать переменную export
?
2) Какова логика использования :
в некоторых .bashrc?
Использование Mac 10.6.8
(вне контекста включает ключевое слово двоеточие, чтобы помочь другим, таким как я, которые пытались найти этот термин)