【问题标题】:How to capture the output of a multi-line Bash snippet into a variable?如何将多行 Bash 代码段的输出捕获到变量中?
【发布时间】:2014-04-11 14:53:06
【问题描述】:

我找到了一些代码here,可以用来巧妙地转换bash 中的碱基。如何使用它并将结果放入 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

【问题讨论】:

    标签: bash shell


    【解决方案1】:

    只需使用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
    

    【讨论】:

      最近更新 更多