shell 十進制數字轉十六進制字符串並將結果保存到變量


.

.

.

.

.

今天寫測試腳本的時候需要將生成的十六進制值作為參數傳遞給某個命令,而循環生成的數值都是十進制的。在網上查了好久也沒有找到如何將一個變量中的值進行進制轉換,並保存到變量中,網上的辦法都是將一個常量轉換進制后賦值給變量。

在群里問了群友未果后,忽然靈光一現找到了解決辦法。最近記憶力越來越差了,趕緊記錄下來,也給其他遇到相同問題的園友提供一份參考。

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) 函數的用法基本相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM