Variable
如何將變數值列印為十六進制數字?
除了這個之外,我似乎可以找到 printf 十六進制操作的所有變體。
我正在嘗試將 html 十六進制顏色值發送到主要使用 printf 建構的文本文件。
我可以計算單獨的 R、G 和 B 值,但它們通常以十進制列印(範圍 0-255)。我怎樣才能列印出來,a)兩位十六進制和b)連接為六位數的字元串?
例如變數值 $ R=254, $ G=127, $B=0 應該列印為 FE7F00。
您可以為此使用
printf
’s%x
(小寫)或%X
(大寫),將寬度強制為 2 個字元:#!/bin/sh r=254 g=127 b=0 printf '%02X%02X%02X\n' "$r" "$g" "$b"
結果如下所示:
FE7F00