1

I found a bit of code here that can be used to convert bases in bash neatly. How do I use it and get the result into a bash variable?

I tried something like below, but it did not work.

NUM_IN_DEC=12321
BASE36=($(echo {0..9} {a..z}))
NAME=(
    for i in $(bc <<< "obase=36; $NUM_IN_DEC"); do
        echo -n ${BASE36[$(( 10#$i ))]};
    done && echo
)
echo converted value is $NAME
Community
  • 1
  • 1
donatello
  • 5,727
  • 6
  • 32
  • 56

1 Answers1

3

Just use command substitution to set NAME

NUM_IN_DEC=12321
BASE36=($(echo {0..9} {a..z}))
NAME=$(
    for i in $(bc <<< "obase=36; $NUM_IN_DEC"); do
        echo -n ${BASE36[$(( 10#$i ))]};
    done && echo
)
echo converted value is $NAME
9i9
iruvar
  • 22,736
  • 7
  • 53
  • 82