2016-10-21 13 views
0

誰でもbashの0x00から0x04までの変数値を1ずつ増やす方法を教えてください。 私は生成したい:0x00から0x11への変数値の増分値(16進数)

0x00 
0x01 
0x02 
0x03 
0x04 

しかし、私は次のような結果になっています:私のコードがある

0 
1 
2 
3 
4 

を:

#!/bin/bash 
for ((num=0x0; num <= 0x04 ; num+=1)); 
do 
    echo $num 
done 
+1

「メモリの場所」とは何ですか?これは単なるbash変数です。 –

答えて

2

使用printf進として番号を印刷するには:

for ((num=0x0; num <= 0x20 ; num+=1)); do 
    printf '0x%02X\n' $num 
done 

numは何も特別なものではないことに注意してください。 0x0で初期化しても、それはちょうど0です。numprintfに渡しても、それは10進数で行われます(0x11が17として渡されます)。数字を16進数でフォーマットするのはprintfです。

関連する問題