作为bash新手,我一直在通过copy / paste + github升级.bashrc,并且遇到了:
使我和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
(从上下文中包括关键字冒号只是为了帮助像我这样尝试搜索该词的其他人)
看到那里的绝佳答案stackoverflow.com/questions/10390406/…–
—
Cedric