Muito interessante esta dica que vi no "Advanced Bash-Scripting Guide" do Mendel Cooper [ http://tldp.org/guides.html ] e, inclusive, publiquei no meu blog com um adendo sobre fazer o mesmo usando o bc que todo mundo deve estar careca de saber.
Com Bash, podemos representar números nas mais variadas bases, desde 2 até 64 usando o operador # como no exemplo abaixo: X=101 for BASE in 2 8 10 16 32 64 ; do echo "$X na base $BASE eh $(( ${BASE}#${X} ))" # conversao pra decimal done 101 na base 2 eh 5 101 na base 8 eh 65 101 na base 10 eh 101 101 na base 16 eh 257 101 na base 32 eh 1025 101 na base 64 eh 4097 echo $((16#FF)) $((32#V)) 255 31 echo $((64#z)) $((64#Z)) $((64#@)) $((64#_)) # atenção nos 2 ultimos! 35 61 62 63 Além de ser possível usar a notação de octal e hexa do C (iniciar a expressão com 0 e 0x, respectivamente) echo $((10)) $(( 010 )) $(( 0x10 )) $((10 + 010 + 0x10)) 10 8 16 34 -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/