如何将字符串转换为在 bash 脚本中以特定基数解释的数字?

cod*_*fer 5 bash shell-script arithmetic

我只是想将字符串转换$RECORD_HDR为数字$RECORD_SIZE,其中

echo $RECORD_HDR给出 003D 并且 echo $RECORD_SIZE应该给出 61

jim*_*mij 4

来自bash手册:

以 0 开头的常量被解释为八进制数。前导 0x 或 0X 表示十六进制。

因此:

$ RECORD_HDR="003D"
$ RECORD_SIZE=$((0x$RECORD_HDR))
$ echo "$RECORD_SIZE"
61
Run Code Online (Sandbox Code Playgroud)