1 votos

No consigo que los avisos personalizados funcionen en zsh

Quiero establecer un prompt personalizado en zsh. Quiero que mi prompt muestre el contexto actual de k8s.

Probé esto:

kubectx()
{
  export PROMPT="$(kubectl config current-context) "
}

precmd_functions=[ 'kubectx' ]

y esto:

setopt PROMPT_SUBST
kubectx()
{
  echo "running..."
  CURRENT_CONTEXT="$(kubectl config current-context)"
}

precmd_functions=[ 'kubectx' ]

PROMPT="${CURRENT_CONTEXT} $"

Y también esto

export PROMPT="$(kubectl config current-context) "

Pero en ambos casos, obtengo un aviso que se fija en cuando .zshrc y no se actualiza cuando, por ejemplo, cambio los contextos de kube.

Intenté leer la documentación de precmd pero no pude encontrar qué hacer para habilitar esta personalización en zsh shell.

¿Alguien ha mostrado cómo script o programar esto?

1voto

user1934428 Puntos 113

precmd_functions debe ser un matriz ¡! Por lo tanto, debe utilizar

precmd_functions=( kubectx )

0voto

feroze Puntos 113

Por cierto, he encontrado el problema. El problema era que yo estaba usando comillas dobles.

Si utilizo comillas simples en su lugar, funciona.

PROMPT='$(kubectl config current-context)'

Incluso escapar del dólar funciona con comillas dobles.

PROMPT="\$(kubectl config current-context)"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X