GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué se produce un error en el aviso de Bash cuando examino el historial?

Esta pregunta ya tiene respuestas aquí :El indicador de terminal no se ajusta correctamente

(9 respuestas)
Cerrado hace 3 años.

A menudo, cuando empiezo a mirar el historial de comandos, algunos de los caracteres de un comando que se muestra no se borran, por ejemplo:

Qué está pasando:

prompt$ some_command
prompt$ some_commanother_command

Lo que debería haber sucedido:

prompt$ some_command
prompt$ another_command

No puedo borrar esos caracteres y bash los ignora al ejecutar el comando. También desaparecen cuando se muestra un mensaje nuevo (después de presionar Enter por ejemplo).

Le pregunté a otras personas que trabajan en Linux en mi lugar de trabajo y dijeron que a veces también tienen ese problema, pero que no tenían idea de cómo resolverlo.

Tengo Ubuntu 11.10 y estoy usando guake. Aquí está mi PS1 :

e[0;31mu A ${PWD##*/}e[0;32m$(parse_git_branch)e[0;31m$e[m

donde parse_git_branch es

parse_git_branch () {
    git name-rev HEAD 2> /dev/null | sed 's#HEAD (.*)# (1)#'
}

Por lo que sé, mis colegas tienen ese problema incluso con PS1 menos "elegante".

Respuesta aceptada:

Usar [...] alrededor de las partes de PS1 que tienen una longitud de 0. Ayuda a bash obtener la longitud correcta del indicador. Incluso con esta medida, su línea de comando puede estropearse cuando usa caracteres de varios bytes (al menos la mía). Presionando Ctrl+L también ayuda en tales casos (pero borra la pantalla al mismo tiempo).


Linux
  1. Bash sobrescribe la primera línea, Ps1 Bash Prompt?

  2. ¿Comprender el signo de exclamación (!) en Bash?

  3. Cómo agregar un ícono al indicador de bash

  4. ¿Cómo configurar el color del símbolo del sistema en Bash?

  5. ¿Por qué recibo Permiso denegado cuando ejecuto ssh-add?

¿Carácter extraño en el aviso de Bash?

¿Primeros caracteres del comando repetidos en la pantalla al completar?

Salve el día con éxito con los comandos del historial de Bash

¿Por qué borrar el historial de bash no es suficiente?

¿Cómo encuentro el número de línea en Bash cuando ocurre un error?

Comportamiento extraño del historial de bash cuando se ejecutan varias sesiones