2 votos

Cambiar el prompt de comando de la terminal en el macbook

Soy nuevo en la programación y quiero tratar de cambiar el color del usuario en mi terminal para el inicio. Tal vez añadir el host.

Así que buscó un montón de sitios web y videos de youtube donde utilizaron un código como este:

export = [/u@h/W]/$

He copiado este código en mis archivos .zshrc y .profile.

Pero cuando me abro paso a estos archivos sólo obtengo que mi usuario es ahora "[/u@h/W]/$" y no mi nombre@host.

¿Por qué no me funciona?

He encontrado este código que funciona pero no soy capaz de modificarlo:

NEWLINE=$'\n'
DATE=$( date +"[%m-%d %H:%M]" )
PROMPT="${NEWLINE}%F{white}${DATE} %(!.%F{red}.%F{green})%n%F{white}@%m
%F{yellow}%F{reset}> "

¿Tiene alguien una explicación de por qué la primera forma no funciona pero la segunda sí?

2voto

yoliho Puntos 340

La respuesta sencilla a por qué los dos trozos de código dan resultados diferentes es que están escritos para dos lenguajes diferentes. El primero es bash, que era el shell por defecto en OSX 10.3 hasta 10.14. El segundo es zsh que es el shell por defecto actual. (Además, el primer código no es correcto en ningún idioma, falta un PS1 y no debería haber espacios alrededor de =)

zsh no leerá .bash_profile o .profile sino sólo .zshrc

zsh está muy bien documentado en https://zsh.sourceforge.io/ El aviso está documentado aquí

El código dado para el segundo no es seguramente lo que quieres, ya que la variable DATE se establece cuando se inicia el shell y probablemente quieres la fecha y la hora cuando se ejecuta el prompt.

Como descargo de responsabilidad, no me gustan la mayoría de las shells de UNIX, ya que la sintaxis es oscura para mí, ya que fueron diseñadas para que el usuario escribiera el menor número de caracteres posible, por lo que no las entiendo del todo, así que utilizaría shells no POSIX como pescado que le permite establecer el aviso desde una interfaz web o funciones comprensibles.

Ejemplos sencillos de las indicaciones se encuentran en el introducción a zsh Yo empezaría por ahí y aumentaría. También hay sitio web del generador de avisos zsh que te permitirá jugar con lo que se puede hacer

Sin embargo, ninguno de ellos dice nada sobre los colores. Para ello, véase el referencia zsh Esto demuestra que en el aviso %F{white} hace que todo lo que sigue tenga un color de primer plano blanco. Así que tu ejemplo mostraría el blanco, luego el verde, luego el rojo, luego el blanco, luego el amarillo, y luego reiniciar para eliminar todos los colores.

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