在Shell中默认表示数值为十进制,那么二进制、八进制和十六进制如何表示呢?
方法1:使用前缀。
0开头表示八进制,0x开头表示十六进制。
如下:
#-----------------------------/chapter4/ex4-35.sh------------------
#! /bin/sh
#十进制20
((x=20))
echo "$x"
#八进制20
((x=020))
echo "$x"
#十六进制20
((x=0x20))
echo "$x"
方法2:#来表示。
2#开头表示二进制,8#开头表示八进制,16#开头表示十六进制。
如下:
#-----------------------------/chapter4/ex4-36.sh------------------
#! /bin/sh
#二进制
((x="2#100000"))
echo "$x"
#八进制
((x=8#123))
echo "$x"
#十六进制
((x=16#32))
echo "$x"
参考:《Shell从入门到精通》