Me gustaría emitir un comando desde un script bash para borrar el terminal desde el que se está ejecutando:
- no quieropara borrar el historial de bash (history -c)
- no quieropara emitir el comando borrar (que mueve el terminal hacia abajo hasta el último mensaje, dando la impresión de que el terminal se ha borrado, pero el resultado anterior permanece visible si se desplaza hacia arriba)
- Quieropara eliminar completamente toda la salida anterior a mi terminal y tenerlo limpio como si estuviera abriendo uno nuevo
Gracias.
Respuesta1
Intentar printf '\033c'
. Esto envía una secuencia de escape al terminal, generalmente borrando todo el contenido, incluido el búfer de retroceso.
Respuesta2
clear
Borra la pantalla del terminal. Supongo que estás accediendo a la Terminal desde una interfaz gráfica y, por lo tanto, en realidad estás usando una interfaz para la consola, no la consola real. Esta interfaz "guarda" automáticamente su historial de salida (lo que ve cuando se desplaza hacia arriba). En una consola real (sin interfaz gráfica), no puedes simplemente desplazarte hacia arriba. En este caso, la terminal es sólo un programa que mantiene registros de la salida de la consola.
Si abre una nueva ventana de Terminal y cierra la actual, comenzará con una ventana nueva. (También puedes reinicializar manualmente yendo a Terminal -> Reinicializar y borrar")
Terminal ejecutándose en entorno de escritorio:
Consola sin Entorno de Escritorio:
Respuesta3
Controlaresta publicación de SU hace referencia al reinicio de Bash y a los comandos de borrado
Además de reset
la respuesta, también se describe una forma más de borrar la terminal.
Respuesta4
Una opción podría ser ver si el terminal se puede iniciar con el desplazamiento hacia atrás deshabilitado. Por ejemplo, xterm -sl 0
iniciará un xterm con 0 saveLines. Ver el archivo man:
-sl number
This option specifies the number of lines to save that have
been scrolled off the top of the screen. This corresponds to
the saveLines resource. The default is 64.