由于您使用的是 ash 并且 Perl 不可用,我假设您可能没有gawk.
对我来说,使用gawk或busybox awk,你的第二个示例与第一个示例的工作方式相同(我从两个示例中得到“=”),除非我使用该选项(在这种情况下,我从两个--posix示例中得到“x3D” )。
如果我使用--non-decimal-dataor --traditionalwithgawk我会得到“=”。
您使用什么版本的 AWK(awk、nawk、gawkbusybox - 和版本号)?
编辑:
您可以通过添加零将变量的字符串值强制转换为数字 1:
~/busybox/awk 'BEGIN { string="3D"; pre="0x"; hex=pre string; printf "%c", hex+0}'
Run Code Online (Sandbox Code Playgroud)