收集括号输出作为变量

收集括号输出作为变量

我有一个这样的脚本

{
    echo ...
    echo ...
} | iconv --to-code UTF-16LE | base64 -w0

是否可以收集 , 的输出{}作为变量?

我尝试过这样的最小案例,

a={echo 123;}

但只得到语法错误

bash: syntax error near unexpected token `}'

有任何想法吗?

答案1

我建议:

a=$(
echo 123
echo 456
)

或者

a=$(echo 123; echo 456)

答案2

a="$({ echo 1; echo 2; echo 3;})"

但牙套可能不是必需的。

答案3

对的,这是可能的:

$ {
    echo Hello
    echo World
} | { 
    read -d '' -a var ; 
    echo "${var[@]}"; 
}
Hello World

然而,var 在第二个大括号之外将是未定义的。

相关内容