如何在bash中将十进制转换为十六进制?

MOH*_*MED 5 linux bash shell

我在bash shell中有一个十进制数:

linux$ A=67
Run Code Online (Sandbox Code Playgroud)

如何在bash中将67打印为十六进制?

Vor*_*ung 22

作为一个bash程序:

#!/bin/bash 

decimal1=31

printf -v result1 "%x" "$decimal1"

decimal2=33

printf -v result2 "%x" "$decimal2"

echo  $result1 $decimal1
echo  $result2 $decimal2
Run Code Online (Sandbox Code Playgroud)

或直接来自bash shell:

el@defiant ~ $ printf '%x\n' 26
1a
el@defiant ~ $ echo $((0xAA))
170
el@defiant ~ $ 
Run Code Online (Sandbox Code Playgroud)

  • +1并接受以下信息:`bash中的printf是内置的,它不分叉shell。 (2认同)