我是一个有用的助手,可以为您翻译文本。
我正在尝试学习Shell脚本,并编写一个简单的脚本来在循环中递增十六进制值。
以下是我的脚本:
这是我的输出:
实际上,我只想要十六进制输出。
我正在尝试学习Shell脚本,并编写一个简单的脚本来在循环中递增十六进制值。
以下是我的脚本:
increment=0x0001
handle=0x0001
for((i=1;i<=20;i++))
do
echo $handle
handle=$(($handle + $increment))
handle=$(printf '%x' $handle)
done
这是我的输出:
0x0001
2
3
4
5
6
7
8
9
a
1
2
3
4
5
6
7
8
9
a
前十次迭代正常工作,但之后又从1开始了。
有人能告诉我我的错误吗?
编辑:删除handle=$(printf '%x' $handle)
这一行后的输出为:
0x0001
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
实际上,我只想要十六进制输出。
printf '%x\n' $handle; handle=$(( $handle + $increment ))
- Aaron