I am iterating over hex digits in a string using a for loop. I can extract each hex digit ok, but my code to convert to a number is giving strange values. How can I fix this code?
Script:
#!/bin/bash
mystring="5e51584a4c"
for (( i = 0; i < ${#mystring}; i = i + 2)); do
snumber="${mystring:i:2}"
printf "number as string=%s\n" $snumber
number=$(printf "%x" "'${mystring:i:2}")
printf "number=%d\n" $number
done
I am getting this output:
number as string=5e
number=35
number as string=51
number=35
number as string=58
number=35
number as string=4a
number=34
number as string=4c
number=34