• 1 Post
  • 9 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle









  • Your mistake is that after variable substitution bash does not handle quoted strings, i.e. it does not remove single quotes from sed command line. If you really need this to happen, you have to use eval:

    i1xmr=$(echo "$i1p/$apiresponse*1000" | bc -l | eval $rmdec)

    However using functions is a better solution in general. But in this particular case, I guess, you only need to change the bc’s scale instead of using sed:

    i1xmr=$(echo "scale=17; $i1p/$apiresponse*1000" | bc -l)

    For better readability you may use heredoc instead of echo:

    i1xmr=$( bc -l << EOF
    scale=17
    $i1p/$apiresponse*1000
    EOF
    )