Parlando come un principiante bash, ho aggiornato il mio .bashrc tramite copia / incolla + github e mi sono imbattuto nel :comando che sconcerta sia me che google. es : ${USER_BASH_COMPLETION_DIR:=~/.bash_completion.d}.
Senza questa affermazione originariamente nel mio .bashrc e digitando questa roba nel mio terminale ( -> indica l'output pertinente):
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> /Users/sh/.bash_completion.d
E:
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
echo $USER_BASH_COMPLETION_DIR
-> asdf
Ma:
: ${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
Non capisco!
1) In che modo il comando due punti imposta una variabile ma non può sovrascriverne una export?
2) Qual è la logica dietro l'utilizzo :in alcuni .bashrc?
Utilizzando Mac 10.6.8
(fuori dal contesto includere la parola chiave due punti solo per aiutare altri come me che hanno cercato di cercare quel termine)