首页 > 代码库 > shell命令行混合进制计算器

shell命令行混合进制计算器

需要简单的计算的时候,不想用GUI的计算器,能在shell下直接计算就最好了

查了下,有个东西叫 bc,  具体的使用就不赘述了,可以运行bc,然后进去计算,也可以echo传递过去,大概是像这样

echo "1+2" | bc

echo "ibase=16;1A+1" | bc

但用起来比较不爽,首先是要指定进制,这样整个表达式就都是这种进制的,比如说

echo "ibase=16;1A*10" | bc              #计算的是 0x1A * 0x10

但我想计算0x1A乘以10进制下的10的话就比较麻烦了。

要是能有个混合进制计算器就好了,想想其实也可以自己包装一个,只要读入表达式,然后将非10进制的数字都转换成10进制,再将处理过的表达式传递给bc,应该就可以了。

于是,就写了个脚本,放到github了,有需要请访问 https://github.com/zqb-all/smartbc

下载后,需要加上可执行权限,然后链接到你环境变量找得到的地方

比如

chmod +x smartbc

sudo ln -s `pwd`/smartbc  /usr/bin/smartbc

或者起个别的名字也行的

sudo ln -s `pwd`/smartbc  /usr/bin/mybc

然后就可以用了,具体看帮助吧

smartbc -h

 

本文链接 http://www.cnblogs.com/zqb-all/p/6793917.html

shell命令行混合进制计算器