在bash脚本中增加十六进制值

时间:2018-04-20 03:29:29

标签: bash hex

如何将十六进制值递增1并将其保存到循环中的变量?

我有echo 'obase=16;ibase=16;A+1' | bc 这将输出正确的十六进制值,但我似乎无法通过变量扩展进行计算。 我想做key=$(echo 'obase=16;ibase=16;$key+1' | bc)之类的事情,但这失败了。我需要能够从0x0增加到0xffff并使用十六进制值,而不仅仅是输出它。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试类似:

declare -i key

for (( key=0; key<=16#ff; key++ )); do
    printf "%d (dec) = %x (hex), " $key $key
    printf "%x (hex) + 1 = %x (hex)\n" $key $(( $key + 1))
done

希望这有帮助。