Bash-скрипт: hex

Bash-скрипт: hex

Я пытаюсь сделать следующее:

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

Вместо 50 '!' (шестнадцатеричный код \x21) я получаю список из 50 '\x21'. Как это сделать в bash?

решение1

Согласно странице руководства, "Слова формы $'string'обрабатываются особым образом". Таким образом, добавление $''в смесь может помочь:

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

Связанный контент