shell 十进制数字转十六进制字符串并将结果保存到变量

.函数

.测试

.spa

.code

.blog

今天写测试脚本的时候须要将生成的十六进制值做为参数传递给某个命令,而循环生成的数值都是十进制的。在网上查了很久也没有找到如何将一个变量中的值进行进制转换,并保存到变量中,网上的办法都是将一个常量转换进制后赋值给变量。class

在群里问了群友未果后,突然灵光一现找到了解决办法。最近记忆力愈来愈差了,赶忙记录下来,也给其余遇到相同问题的园友提供一份参考。变量

1 for i in {1..16}
2 do
3     i=`printf "0x%02x\n" ${i}`
4 done

注意第三行包围着 printf(1) 命令的并非单引号('),而是撇号(`),就是 QWERTY 键盘上 Esc 键下面的 ~ 键上的。循环

脚本很简单,这里就不作解释了,printf(1) 命令的用法与 C 语言中 printf(3) 函数的用法基本相同。脚本

相关文章
相关标签/搜索