なぜ私の変数はechoを介して取得できますが、printenvを介して取得できないのですか?

なぜ私の変数はechoを介して取得できますが、printenvを介して取得できないのですか?

powerlevel10kを初めてインストールするときは、通常、インターネット上のガイドに従い、リポジトリを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/customprintenv

答え1

変数では、:-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

関連情報