Environment-Variables

為什麼我的變數可以通過 echo 獲得,但不能通過 printenv?

  • May 10, 2021

第一次安裝 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

引用自:https://unix.stackexchange.com/questions/649082