加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在shell脚本中将十进制值打印为十六进制值

发布时间:2020-12-15 21:17:41 所属栏目:安全 来源:网络整理
导读:我需要一个具有十进制值的字符串.例如,’0 2930 0′.现在,当我将其转换为十六进制时,它应该说’0000 0B72 0000′.我能够使用split和obase = 16将值转换为十六进制,使用bc,我将得到答案为’0 B72 0′.我需要的是获得值’0000 0B72 0000′.任何人都可以帮忙解
我需要一个具有十进制值的字符串.例如,’0 2930 0′.现在,当我将其转换为十六进制时,它应该说’0000 0B72 0000′.我能够使用split和obase = 16将值转换为十六进制,使用bc,我将得到答案为’0 B72 0′.我需要的是获得值’0000 0B72 0000′.任何人都可以帮忙解释一下吗?

这就是我所做的:

s1 ='2930'
echo after converting it to hexadecimal
s=`echo "obase=16; $s1" |bc`
echo $s

解决方法

使用printf以所需格式获取输出:

$printf "%04x " 0 2930 0
0000 0b72 0000

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读