precmd
zsh의 함수에 변수를 설정한 다음 프롬프트에 표시하는 방법이 있습니까 ?
그것은 마치
function precmd {
GREETING='Hi Kevin!';
}
PROMPT="$GREETING";
답변1
이것을 당신의 .zshrc
:
setopt prompt_subst
PROMPT='$GREETING'
그런 다음 $PROMPT
표시될 때마다 매개변수 확장(및 해당 형제 명령 대체 및 산술 확장)을 거칩니다. 외부 소스에서 가져온 콘텐츠를 적절하게 인용하도록 주의하시기 바랍니다. 또한 확장 결과가 확장 $
된다는 점에 유의하세요 %
(예: 힌트 이스케이프 시퀀스가 에 나타날 수 있음 $GREETING
).
PROMPT
또 다른 접근 방식은 에서 변수 자체를 재설정하는 것입니다 precmd
. 그러나 이렇게 하면 특정 셸 인스턴스에서 프롬프트를 사용자 정의하기가 더 어려워집니다.
답변2
좋아, 문제를 찾았어. 이것은 큰따옴표입니다.
대신 작은따옴표를 사용하면
PROMPT='$(kubectl config current-context)'
아니면 USD를 탈출하면
PROMPT="\$(kubectl config current-context)"
그렇다면 괜찮습니다.