任何人都可以告诉如何在bash中将变量值从0x00增加到0x04。 我想生成:
0x00
0x01
0x02
0x03
0x04
但我得到以下结果:
0
1
2
3
4
我的代码是:
#!/bin/bash
for (( num=0x0; num <= 0x04 ; num+=1 ));
do
echo $num
done
答案 0 :(得分:2)
使用printf
将数字打印为十六进制:
for (( num=0x0; num <= 0x20 ; num+=1 )); do
printf '0x%02X\n' $num
done
请注意,num
并不特别。即使您使用0x0
对其进行初始化,它也只是0.即使我们将num
传递给printf
,也会以小数形式完成(因此0x11传递为17) 。 printf
将您的号码格式化为十六进制。