Script bash: hexadecimal

Script bash: hexadecimal

Estoy intentando hacer lo siguiente:

ch='\x21'
line="\x21"
len=50
for i in `seq 1 $len`
do
    line+="$ch"
done

En lugar de 50 '!' (código hexadecimal \x21) Obtengo una lista de 50 '\x21'. ¿Cómo puedo hacer esto en bash?

Respuesta1

Según la página de manual, "Las palabras del formulario $'string'se tratan de forma especial". Por lo tanto, agregar $''a la mezcla puede ayudar:

% bash
bash-3.2$ ch=$'\x21'; echo $ch$ch$ch
!!!
bash-3.2$ 

información relacionada