İle bash(veya herhangi bir kabuk, printfkomutun kullanılabilir olması koşuluyla (genellikle kabuklara yerleştirilmiş standart bir POSIX komutu)):
printf '%x\n' 85
İle zshşunları da yapabilirsiniz:
dec=85
hex=$(([##16]dec))
Bu, 2'den 36'ya kadar olan bazlar için işe 0-9a-zyarar ( rakam olarak büyük / küçük harfe duyarsız).
Ile ksh93kullanabilirsiniz:
dec=85
base54=$(printf %..54 "$dec")
Hangi 2 ile 64 arası bazlar için çalışır ( 0-9a-zA-Z@_rakamlarla).
İle kshve zshde vardır:
$ typeset -i34 x=123; echo "$x"
34#3l
Bu, ksh88’de 36’ya, zsh ve pdksh’ye, ksh93’de ise 64’e kadar sınırlı.
Tüm bunların longsisteminizdeki tamsayıların boyutuyla sınırlı olduğunu unutmayın ( intbazı kabuklarla birlikte). Daha büyük bir şey için, bcveya kullanabilirsiniz dc.
$ echo 'obase=16; 9999999999999999999999' | bc
21E19E0C9BAB23FFFFF
$ echo '16o 9999999999999999999999 p' | dc
21E19E0C9BAB23FFFFF
POSIX'in gerektirdiği 2 ila bir sayı arasında değişen desteklenen tabanların en az 99 olduğu kadar yüksek olması. 16'dan büyük olan tabanlar için 9'dan büyük sayılar boşlukla ayrılmış 0 basamaklı ondalık sayılar olarak gösterilir.
$ echo 'obase=30; 123456' | bc
04 17 05 06
Ya da dc( bceskiden beri (ve hala bazı sistemlerde) bir sarmalayıcı olmak için dc)
$ echo 30o123456p | dc
04 17 05 06