在 bash 中,我希望能够输出两个输入值的总和,所有输入和输出字符串以十六进制格式表示如下。
这就是我想要做的。
$ script1 0x80200000 0x800
sum = 0x80200800
$
我应该如何为此编写脚本“script1”?当然这行不通。
sum = $1 + $2
echo "sum = " $sum
答案1
您可以使用算术扩展,它支持0x
十六进制值,但以十进制输出,并使用以十六进制打印printf
:
$ printf "%#X\n" $(( 0x80200000 + 0x800 ))
0X80200800
$ printf "%#x\n" $(( 0x80200000 + 0x800 ))
0x80200800