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?
cat
archivos binarios ...Respuestas:
Eso solo significa que en zsh no puedes hacer algo como:
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 -echo
y debereset
hacerlo. 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 -echo
no funciona.fuente
ttyctl -f
no permitir cambios en los modos de terminal yttyctl -u
permitirlos.