왜 내 변수는 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

관련 정보