Преобразование шестнадцатеричных данных в двоичные в bash

Я пытаюсь преобразовать серию байтов из шестнадцатеричного в бин с помощью bash. но я продолжаю получать (кажущиеся случайными )"(стандартные _в )1 :синтаксическую ошибку" ответы из следующего кода:

for j in c4 97 91 8c 85 87 c4 90 8c 8d 9a 83 81
do
        BIN=$(echo "obase=2; ibase=16; $j" | bc )
        echo $BIN
done

Я проделал то же самое с dec to bin, и все отлично работает :

for i in {0..120}
do
        KEYBIN=$(echo "obase=2; ibase=10; $i" | bc)
        echo $KEYBIN
done

. Кто-нибудь знает, почему он работает с десятичным числом, но не с шестнадцатеричным? На мой взгляд, синтаксис почти такой же (, если только я не упустил что-то очень сложное.)

9
задан ormaaj 20 June 2012 в 13:15
поделиться