A decimal string is a string that contains only integers, like this.
A hexadecimal string (also known as "base 16" or "hex") is a string that contains integers and/or characters a through f, like this.
The echo command can be used to convert a base string into decimal, like this.
Convert decimal to decimal
If the string contains only integers, and does not begin with a 0, the echo command will not change the string, as it is already a decimal string.
~]# echo $((123456789)) 123456789
If the string contains only integers, and begins with a 0, the echo command will change the string.
~]# echo $((01234567)) 342391
If the string contains only integers, and begins with a 0, once the string reaches a certain length (usually 8 or 9 characters), the 0x prefix will need to be appended to the beginning of the string.
~]# echo $((0x0123456789)) 4886718345
Convert hexadecimal to decimal
The 0x prefix is always needed when converting a hexadecimal string to decimal.
~]# echo $((0x6a99b48e208ee4f6)) 7320993230861821174
Convert decimal to hexadecimal
~]# echo "obase=16; 7320993230861821174" | bc 6599648e208ee4f6