ZSH precmd에서 변수를 설정하고 프롬프트에서 참조합니다.

ZSH precmd에서 변수를 설정하고 프롬프트에서 참조합니다.

precmdzsh의 함수에 변수를 설정한 다음 프롬프트에 표시하는 방법이 있습니까 ?

그것은 마치

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)"

그렇다면 괜찮습니다.

관련 정보