Mówiąc jak nowicjusz, uaktualniłem swój .bashrc przez copy / paste + github i natrafiłem na :
polecenie, które zaskakuje zarówno mnie, jak i google. np : ${USER_BASH_COMPLETION_DIR:=~/.bash_completion.d}
.
Bez tej instrukcji oryginalnie w moim .bashrc i wpisanie tych rzeczy w moim terminalu ( -> oznacza odpowiednie dane wyjściowe):
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> /Users/sh/.bash_completion.d
I:
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
echo $USER_BASH_COMPLETION_DIR
-> asdf
Ale:
: ${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
Nie rozumiem
1) W jaki sposób polecenie dwukropek ustawia zmienną, ale nie może zastąpić zestawu przez export
?
2) Jaka jest logika używania :
niektórych plików .bashrc?
Na komputerze Mac 10.6.8
(poza kontekstem obejmuje dwukropek słów kluczowych, aby pomóc innym osobom, takim jak ja, które próbowały wyszukać ten termin)