bc 十六进制只认大写

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

bc 十六进制只认大写

#1

帖子 自由建客 » 2017-02-01 15:18

只认大写,不认小写
1.png
不得不加一行,感觉好委屈
2.png
另,原来 return -1 的结果是 retrun 255
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: bc 十六进制只认大写

#2

帖子 astolia » 2017-02-04 15:05

直接用bash换算啊

代码: 全选

echo $((0xABCD)) $((0xabcd))
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: bc 十六进制只认大写

#3

帖子 自由建客 » 2017-02-04 15:17

astolia 写了:直接用bash换算啊

代码: 全选

echo $((0xABCD)) $((0xabcd))
不用 bash
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: bc 十六进制只认大写

#4

帖子 astolia » 2017-02-04 15:34

你不用bash你下面的dec_num=$((dec_num + 1))是谁来算的?莫非是zsh?它一样支持进制换算

另:谁叫WEXITSTATUS只返回低8位

代码: 全选

man 2 wait | grep -A 3 '  WEXITSTATUS'
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: bc 十六进制只认大写

#5

帖子 自由建客 » 2017-02-04 15:44

astolia 写了:你不用bash你下面的dec_num=$((dec_num + 1))是谁来算的?莫非是zsh?它一样支持进制换算
dash 支持而且建议用 $(( )) 代替 expr,我不清楚 POSIX 标准如何。
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: bc 十六进制只认大写

#6

帖子 astolia » 2017-02-04 16:01

你倒是亲自动手试一试啊。dash一样支持这种换算
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: bc 十六进制只认大写

#7

帖子 自由建客 » 2017-02-04 19:37

astolia 写了:你倒是亲自动手试一试啊。dash一样支持这种换算
:em06
回复