Environment-Variables
為什麼我的變數可以通過 echo 獲得,但不能通過 printenv?
第一次安裝 powerlevel10k 時,通常按照 Internet 上的指南複製 oh-my-zsh 文件夾中的儲存庫:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
現在,如果我
echo $ZSH_CUSTOM
會得到/home/myuser/.oh-my-zsh/custom
預期的結果,但printenv
根本不會列出它。這是為什麼?
變數中的
:-
告訴 bash(或 zsh)使用 之後的任何內容-
作為預設值。如果ZSH_CUSTOM
不在您的環境變數中(它沒有出現在 中printenv
),它將預設為$HOME/.oh-my-zsh/custom
.你可以自己試試:
echo ${MY_VARIABLE} # prints an empty line echo ${MY_VARIABLE:-a default value} # prints: a default value