bash – 十六进制到十进制在Shell脚本

前端之家收集整理的这篇文章主要介绍了bash – 十六进制到十进制在Shell脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以帮我告诉如何在shell脚本中将十六进制数转换为十进制数吗?例如。我想使用shell脚本将十六进制数bfca3000转换为十进制。我基本上想要两个十六进制数字的差异。我的代码是:
var3=`echo "ibase=16; $var1" | bc`
var4=`echo "ibase=16; $var2" | bc`
var5=$(($var4-$var3))               # [Line 48]

执行后,我得到的错误

Line 48: -: Syntax error: operand expected (error token is "-")
要转换hex2dec,这些是在shell或脚本中执行它的许多方法

bash

$ echo $((16#FF))
255

bc

$ echo "ibase=16; FF" | bc
255

perl

$ perl -le 'print hex("FF");'
255

printf

$ printf "%d\n" 0xFF
255

python

$ python -c 'print(int("FF",16))'
255

ruby

$ ruby<<EOF
p "FF".to_i(16).to_s(10)
EOF
"255"

node.js

$ nodejs <<< "console.log(parseInt('FF',16))"
255

rhino

$ rhino<<EOF
print(parseInt('FF',16))
EOF
...
255

groovy

$ groovy -e 'println Integer.parseInt("FF",16)'
255
原文链接:https://www.f2er.com/bash/391935.html

猜你在找的Bash相关文章