0 votos

Problema de ZSH con el indicador de color y doble barra, es decir "//" que aparece cuando estoy en la root

Me encuentro con un problema de barra diagonal que aparece / barra diagonal doble que aparece en PS1 cuando estoy ubicado en la root /.

Explico más precisamente, tengo en .zshrc:

setopt PROMPT_SUBST
slash_color () { dirs | awk -F "/" ' {for (i=1; i<=NF; i++) {printf "\033[38;5;75m"$i"\033[38;5;206m" "/"}} '; }
PS1='%F{13}|%F{green}%n@%F{cyan}%m%F{13}|%f%T%F{13}|$(slash_color)%F{13}|%F{7} '

El objetivo era colorizar cada barra diagonal de la RUTA actual.

De esta manera, cuando me dirijo a un directorio más profundo, obtengo:

prompt colorized with slash

Pero un problema persiste cuando hago: $ cd /, obtengo el siguiente resultado, es decir, una doble barra representando la ruta actual y no sé cómo manejar esto para tener solo una ruta:

double slash issue

¿Alguien podría ayudarme a tener solo una barra cuando estoy ubicado en la root, es decir /?

0 votos

Aunque se presenta un caso interesante si tienes un nombre de archivo/carpeta con una barra inclinada en medio

0 votos

@ankii ¿Intentaste crear un archivo así?

0 votos

@ankii Slash != Barra invertida. Intenta touch foo/bar :-)

1voto

awy Puntos 500

Cambia el bucle for de

for (i=1; i<=NF; i++) \
 printf blue $i pink "/"; \
printf "\n"

a

for (i=1; i

``

  • nota el cambio en <=<
  • Cuida los puntos y comas.

o utiliza algo de ayuda de la búsqueda para obtener una condición if else para la cual el pseudocódigo (sintaxis bash incorrecta) es:

para todos i<=NF:
 si (i

``

0 votos

@ankli ¡muchas gracias! Ahora me enfrento a otro problema, pero esa es otra historia, así que nueva pregunta, ¡a continuación...!

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