یک اسکریپت پوسته هر عددی را به صورت دسیمال (مبنای ۱۰) تفسیر میکند، مگر اینکه عدد دارای پیشوند یا نشانه ویژهای باشد. عددی که یک 0 بر آن مقدم گردیده، اکتال (مبنای ۸) است. عددی که 0x پیشوند آن باشد، هگزا دسیمال (مبنای ۱۶) است. یک عدد با کاراکتر # جای گرفته در میان ارقام آن، به منزله BASE#NUMBER (با محدودیتهای دامنه و نشانهگذاری) ارزیابی میشود.
مثال 8-4. معرفی کردن ثابتهای عددی
#!/bin/bash # #پیشفرض :دسیمال let "dec = 32" echo "decimal number = $dec" # # # --------- ------ -- ------- # let "oct = 032" echo "octal number = $oct" # # # --------- ------ -- ------- # let "hex = 0x32" echo "hexadecimal number = $hex" # echo $((0x9abc)) # # # # --------- ------ -- ------- # # # let "bin = 2#111100111001101" echo "binary number = $bin" # let "b32 = 32#77" echo "base-32 number = $b32" # let "b64 = 64#@_" echo "base-64 number = $b64" # # # echo echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA)) # # # # # let "bad_oct = 081" # # # exit $? # #