miércoles, 22 de julio de 2015

Secuencias de escape con la barra invertida

Además de su rol como carácter de escape, la barra invertida también se usa como parte de una notación para representar ciertos caracteres especiales llamados control codes (códigos de control). Los primeros 32 caracteres en el esquema del código ASCII se usan para transmitir comandos a dispositivos de la familia de los teletipos. Algunos de estos códigos son familiares (tabulador, salto de línea y retorno de carro), mientras que otros no lo son (nulo, fin de la transmisión, y confirmación).

Secuencia de escape Significado
\a
Tono (“Alerta” - hace que el ordenador pite)
\b
Retroceder un espacio
\n
Nueva línea. En sistemas tipo Unix, produce un salto de línea.
\r
Retorno de carro.
\t
Tabulación

La tabla anterior lista algunos de las secuencias de caracteres de escape más comunes. La idea detrás de esta representación usando la barra invertida se originó en el lenguaje de programación C y ha sido adoptada por otros muchos, incluido el shell.

Añadiendo la opción “-e” a echo activaremos la interpretación de las secuencias de escape. También puedes colocarlos dentro de $' '. De esta forma, usando el comando sleep, un programa simple que sólo espera a que le digamos un número específico de segundos y luego se cierra, podemos crear un primitivo cronómetro de cuenta atrás:

sleep 10; echo -e "Time's up\a"

También podríamos hacer esto:

sleep 10; echo "Time's up" $'\a'

No hay comentarios:

Publicar un comentario