如何将多行Bash片段的输出捕获到变量中?

时间:2014-04-11 14:53:07

标签: bash shell

我找到了一些代码here,可以用来整齐地转换bash中的base。如何使用它并将结果转换为bash变量?

我尝试了类似下面的内容,但它没有用。

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

1 个答案:

答案 0 :(得分:3)

只需使用command substitution设置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