Printf
如何在 /bin/sh -c ‘…’ 中使用十六進製或十進制列印 ascii 字元?
/bin/sh 將是破折號 printf 在破折號中使用十六進製或 dex 程式碼顯示某些 ascii 字元的正確語法是什麼?假設我想列印一個美元符號($)。應該使用哪個十六進製或十進制程式碼以及如何使用?
如果您想從字元程式碼轉到字元本身,則將字元程式碼包含在
printf
格式字元串中,用反斜杠轉義,以八進製表示。例如
printf "\044\n"
列印$
(和換行符)。在 Bash 和其他 shell 中,您可以使用 hex,
\x24
,但這不是標準的,並且在 Dash 中不起作用。不過,您可以在命令替換中嵌套另一個
printf
以將十六進製或十進制轉換為八進制。這兩個都會列印$
(和換行符):printf "\\$(printf %o 36)\n" printf "\\$(printf %o 0x24)\n"