【问题标题】:How to convert decimal to hex in bash? [duplicate]如何在bash中将十进制转换为十六进制? [复制]
【发布时间】:2013-05-07 18:51:24
【问题描述】:

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

linux$ A=67

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

【问题讨论】:

  • bash 中的 printf 是内置的,它不会派生 shell。我已经更改了答案,以举一个直接设置变量的示例,如问题

标签: linux bash shell


【解决方案1】:

作为 bash 程序:

#!/bin/bash 

decimal1=31

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

decimal2=33

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

echo  $result1 $decimal1
echo  $result2 $decimal2

或者直接从 bash shell:

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

【讨论】:

  • +1 并接受信息:the printf in bash is a builtin, it does not fork a shell.
  • printf 也是 coreutils - printf '%x\n' $1 在 shell 脚本中的一部分:/path/to/script 26
猜你喜欢
  • 1970-01-01
  • 2016-05-21
  • 2012-03-01
  • 2015-09-13
  • 2013-10-08
  • 2017-12-30
  • 2011-07-28
  • 1970-01-01
相关资源
最近更新 更多