在shell脚本中将int转换为十六进制

时间:2012-11-03 09:04:20

标签: shell unix hex

我必须在shell脚本中使用不同的参数多次调用二进制文件。 例如,我必须使用参数调用二进制“set”:

设置0x00 设置0x01 设置0x02 ... 设置0x60

是否可以在shell脚本中使用循环执行此操作?

2 个答案:

答案 0 :(得分:3)

%x命令使用printf格式进行转换,如printf 0x%x num中所示。要将转换后的值作为参数传递给另一个命令,请使用$(...)执行引号:

$ i=8
$ while [ $i -lt 16 ]; do
> echo $(printf 0x%x $i)
> i=$(expr $i + 1)
> done
0x8
0x9
0xa
0xb
0xc
0xd
0xe
0xf

答案 1 :(得分:1)

在您需要的任何循环中使用printf "0x%X" $decimal