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'