Caracteres de escape en Bash

Fumbani Banda 30 enero 2023
  1. Caracteres de escape
  2. Uso de comillas dobles
  3. Más Caracteres de escape en Bash
Caracteres de escape en Bash

Este tutorial explica qué son los caracteres de escape y proporciona una lista informativa de caracteres de escape.

Caracteres de escape

Los caracteres de escape son caracteres que representan una interpretación alternativa distinta de ellos mismos. No hay una lista definitiva con todos los caracteres que deben escaparse en bash. Sin embargo, una regla general recomendada dice si tienes dudas, escápate.

Uso de comillas dobles

El uso de comillas dobles alrededor de los caracteres de escape conserva su significado literal.

Usemos el asterisco, *, con el comando echo para demostrar esto. En la terminal, al escribir echo * se muestran todos los archivos en el directorio actual. Sin embargo, encerrar * entre comillas dobles muestra el asterisco solo en la salida estándar.

echo "*"

Muestra la siguiente salida.

*

Más Caracteres de escape en Bash

No hay una lista definitiva con todos los caracteres que deben escaparse en bash. Puedes averiguarlo probando algunos de estos Caracteres. El siguiente script bash proporciona información sobre qué caracteres deben escaparse y la representación de los caracteres escapados.

for x in {0..127} ;do
    printf -v char \\%o $x
    printf -v char $char
    printf -v res "%q" "$char"
    esc=Escape
    [ "$char" = "$res" ] && esc=-
    printf "%02X %s %-7s\n" $x $esc "$res"
done | sort

El script muestra el resultado a continuación. Solo he mostrado los primeros 11 caracteres. El primer campo tiene el valor hexadecimal de byte, y el segundo archivo tiene Escape si es necesario escapar de un carácter o - si no. La última parte muestra la representación del carácter al escapar de él.

00 Escape ''
01 Escape $'\001'
02 Escape $'\002'
03 Escape $'\003'
04 Escape $'\004'
05 Escape $'\005'
06 Escape $'\006'
07 Escape $'\a'
08 Escape $'\b'
09 Escape $'\t'
0A Escape $'\n'
0B Escape $'\v'
0C Escape $'\f'
0D Escape $'\r'
0E Escape $'\016'
0F Escape $'\017'
10 Escape $'\020'
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub