Secuencias de ESCape

Secuencias de ESCape especiales que pueden ser muy útiles en scripts que muestran salida por pantalla:

  • \033[xA Sube el cursor xfilas hacia arriba. Si el desplazamiento es mayor que la primera fila, se queda en la primera fila (no hace scroll hacia arriba).
  • \033[xB Baja el cursor xfilas hacia abajo.
    Si el desplazamiento es mayor que la última fila, se queda en la última fila (no hace scroll hacia abajo).
  • \033[xC Desplaza el cursor a la derecha x columnas.
    Si el desplazamiento es mayor que la columna máxima, se queda en la columna máxima (última columna).
  • \033[xD Desplaza el cursor a la izquierda x columnas.
    Si el desplazamiento es mayor que la columna 1, se queda en la columna 1.
  • \033[s Guarda la posición del cursor.
  • \033[u Recupera la posición del cursor guardada (anteriormente)
    Importante: si se hace scroll hacia abajo solo se guarda la posición de la columna pero NO de la fila.
#!/bin/bash

clear
echo -e "Guardamos la posición del cursor...\033[s"
read $tecla
echo -e "\033[10CTexto desplazado 10 columnas a la derecha."
read $tecla
echo -e "\033[10C\033[5DTexto desplazado 10 columnas a la derecha y 5 a la izquierda."
read $tecla
echo -e "\033[5ATexto desplazado 5 filas arriba."
read $tecla
echo -e "\033[7BTexto desplazado 7 filas abajo."
read $tecla
echo -e "\033[uRecuperamos posición guardada."
read $tecla

NOTA: read $tecla lo que hace es esperar a que se pulse ENTER, lo uso para hacer una pausa y ver paso a paso lo que hace el script.

Retro

Lugares

Redes

Sistemas

Varios