open mac commands comandos osx bash unix

osx - mac - Indicador Bash en el terminal OS X roto



terminal mac commands (6)

Ahora lo he intentado

PS1="${BLUE}/u${CYAN}@${RED}/h${BLUE}/w${RED}/r/n/$/[${blue}/]"

Lo cual parece funcionar Los corchetes necesarios para que los comandos anteriores funcionen.

Estoy usando la aplicación bash in os X Terminal, y mi $ PS1 personalizado se rompe cuando me desplazo por mi historial.

PS1="${BLUE}/u${CYAN}@${RED}/h${BLUE}/w/n/[${red}/$${NC}/]"

también probé PS1 = "$ {BLUE} / u $ {CYAN} @ $ {RED} / h $ {BLUE} / w / r / n [$ {red} / $$ {NC}]"

El problema parece estar en la nueva línea. He usado este prompt bash en Slackware no prob.


Estaba teniendo el mismo problema al iniciar sesión en sistemas remotos (debian). Como los valores escapados en .bashrc estaban todos muy bien entre corchetes, hice un poco de búsqueda en Google y descubrí que la causa podría ser diferencias en el tamaño de la ventana en el sistema local y el remoto. Añadiendo

shopt -s checkwinsize

para .bashrc en los sistemas remotos me ha solucionado el problema.

Fuente: http://forums.macosxhints.com/showthread.php?t=17068


Necesitas el [y] cerca de cada secuencia de escape; do $ BLUE y similares incluyen estos? Si no, deben estar entre corchetes con estas llamadas.


Para evitar tales dificultades de ''escape'', como usted sugiere que las necesidades necesitan ser más complejas, este debería ser un esqueleto para comenzar a crecer:

function _my_prompt () { # magic goes here my_prmpt=.... } PROMPT_COMMAND=''_my_prompt'' PS1="[/$my_prmpt] /$"


Si el problema parece ser con la nueva línea, intente poner / r / n en lugar de simplemente / n y vea si hace una diferencia.


Tengo el mismo problema (en OS X) con tu PS1. Si elimino el /[ y /]

PS1="${BLUE}/u${CYAN}@${RED}/h${BLUE}/w/n${red}/$${NC}"

esto funciona bien ¿Se necesitan los corchetes sqare? Nunca los he usado, pero de los documentos :

/[ Comience una secuencia de caracteres que no sean de impresión. Esto podría usarse para incrustar una secuencia de control de terminal en el aviso.

/] Finaliza una secuencia de caracteres no imprimibles.