8 votos

Comportamiento extraño en la Terminal con la costumbre .bash_profile

Es difícil describir el comportamiento, pero he aquí un breve clip:

http://www.youtube.com/watch?v=9KqHBA94FPI

Básicamente, al entrar multi-línea de comandos, al final de la primera línea, la inserción de bloque remonta al principio de la primera línea, escribe sobre la primera línea, luego se continúa de manera normal, en la segunda, tercera, etc. líneas. Cuando se elimina, ya que me permite eliminar todo el comando, además de los espacios en blanco en la línea sobre el comando (que la tengo configurada para que los comandos se introducen después de una línea que contiene usuario@host/información de Directorio. Luego incluso me permite eliminar la última parte del Directorio y de acogida que he descrito anteriormente. Lo siento, soy terrible para explicar esto, el vídeo va a hacer un mejor trabajo.

Aquí es el contenido de mi .bash_profile:

export PS1="\e[31m\u\e[0m@\e[34m\h\e[33m\w\n \$ \e[0m "

12voto

Tundey Puntos 2145

Usted debe delimitar los caracteres no imprimibles (en este caso, las secuencias de escape ANSI) con bash secuencias de escape: \[ y \]. De esa manera bash se conocen los caracteres incluidos no son visibles, es decir,. ellos no toman el espacio, es decir,. no deben ser incluidos en la palabra de longitud de cálculo utilizado por la línea de contenedor.

en otras palabras cambiar su PS1 definición de:

export PS1="\e[31m\u\e[0m@\e[34m\h\e[33m\w\n \$ \e[0m "

... a:

export PS1="\[\e[31m\]\u\[\e[0m\]@\[\e[34m\]\h\[\e[33m\]\w\n \$ \[\e[0m\] "

Y aquí está el mismo PS1 su valor, para humanos–sólo lectura, tal vez con una legibilidad mejorada (ANSI-escapa de la fila inferior, bash se escapa en el medio y la impresión de los caracteres en la parte superior de la fila.)

          \u          @          \h          \w\n \$
\[      \]  \[     \] \[      \]  \[      \]        \[     \] 
  \e[31m      \e[0m     \e[34m      \e[33m            \e[0m    

Leer más:

0voto

Vinit Shandilya Puntos 166

Yo todos,

He tenido problemas similares y he encontrado una solución con sólo cambiar mi PS1 variable de la original de una forma muy sencilla, tan solo mi nam en realidad : export PS1=Alex

Ahora mi terminal no tiene ningún comportamiento extraño más.

Espero que te va a ayudar.

Alex (en Mac Lion 10.8)

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