¿Es el error de texto invisible en bash un error o una característica?

8

En cada distribución de Linux que he usado en los últimos 10 años ha habido los siguientes inconvenientes: ejecuta un programa en el terminal usando bash. Después de que el programa se detiene o se interrumpe, lo que escriba a veces parece invisible. Luego puede ingresar el comando "reset" y la pantalla se borra y el cursor vuelve a ser visible.

Debido a este error, siempre cambié el shell a zsh cada vez que inicio sesión en un nuevo terminal por primera vez. En zsh, el error de texto invisible nunca ocurre. Dado que el error ahora ha estado allí durante más de 10 años, he comenzado a sospechar que es una característica de bash. Entonces, ¿alguien puede decirme para qué sirve?

Además, ¿dónde se encuentra realmente la página de inicio de bash / rastreador de errores? Bash.org parece ser sobre "ataques informáticos", y también lo hace el canal #bash irc. ¿Por qué la mayoría de las distribuciones de Linux incluyen un shell al que es tan difícil dar retroalimentación, cuando varias alternativas son al menos tan buenas?


fuente
1
Entonces ... ¿qué parte de tu pregunta está relacionada con la programación nuevamente?
Ignacio Vazquez-Abrams
2
Dirígeme al lugar correcto para preguntar. La ironía es que una búsqueda de Google en "bash shell bug tracker" actualmente conduce a esta página.
Eso es lo que sucede cuando catarchivos binarios ...
Yab

Respuestas:

11

Eso solo significa que en zsh no puedes hacer algo como:

stty -echo     #turn off echoing what you type
stty echo      #turn on echoing
reset          #reset terminal to the default state

En bash, el comando anterior funciona como se esperaba: apague el eco del comando. Acabo de probar en zsh - no funciona. ¿Quién tiene un error? ;)

Es posible apagar el eco con las secuencias ESC, por lo que si su programa envía al azar secuencias binarias al terminal, {o cuando CTRL- \ algún programa orientado a la pantalla), a veces se comporta como stty -echoy debe resethacerlo. No es un error, simplemente es cómo funcionan los terminales (y los emuladores de terminal).

Lo que es extraño, por qué en zsh stty -echono funciona.

jm666
fuente
2
En zsh, puede ttyctl -fno permitir cambios en los modos de terminal y ttyctl -upermitirlos.