перевод из одной системы счисления в другую

пример использования:
variable=$(echo "OPTIONS; OPERATIONS" | bc)

OPTIONS:
ibase - откуда переводим
obase - куда переводим
2 - двоичная
16 - шестнадцатиричная
8 - восьмеричная
10 - десятичная

OPERATIONS - что переводим

примеры использования:

из двоичной в десятичную

# echo "ibase=2; 111" | bc  
7

из десятичной в шестнадцатеричную

# echo "obase=16; 15" | bc  
F

Перевод чисел из 10 в 16 и обратно в консоли

sh

$ printf "%x\n" 29
$ printf "%d\n" 0x2c
$ let 0xff # в OpenBSD не работает, в GNU и FreeBSD работает
$ echo $((16#2c)) # в FreeBSD не работает, в GNU и OpenBSD работает
$ echo $((0xff)) и echo $((077))

bc
$ echo "obase=16;29" | bc
$ echo "ibase=16;2C" | bc

awk
$ echo 29 | awk '{printf "%x\n", $0}'
$ echo 0x2c | awk '{print strtonum($0)}'

dc
$ echo 29 | dc -e "16o?p"
$ echo 2C | dc -e "16i?p"

perl
$ echo 29 | perl -ne 'printf "%x\n", $_'
$ echo 2c | perl -ne 'print hex $_'