.
.
.
.
.
今天寫測試腳本的時候需要將生成的十六進制值作為參數傳遞給某個命令,而循環生成的數值都是十進制的。在網上查了好久也沒有找到如何將一個變量中的值進行進制轉換,並保存到變量中,網上的辦法都是將一個常量轉換進制后賦值給變量。
在群里問了群友未果后,忽然靈光一現找到了解決辦法。最近記憶力越來越差了,趕緊記錄下來,也給其他遇到相同問題的園友提供一份參考。
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) 函數的用法基本相同。