괄호로 묶인 출력을 변수로 수집

괄호로 묶인 출력을 변수로 수집

이런 스크립트가 있어요

{
    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가 정의되지 않습니다.

관련 정보