산출

산출

제가 작성 중인 스크립트의 경우 명령 출력을 배열로 변환해야 합니다. 단순화하기 위해 echo를 사용하여 예를 만들었습니다.

arr=( $(echo '"test example" "test2 example"') )

내가 원하는 것은 배열의 첫 번째 요소입니다

test example

하지만 이렇게 할 때:

echo ${arr[0]}

알겠어요

"test

내가 원하는 결과를 얻으려면 어떻게 해야 합니까?

답변1

생각하다에코명령과 같이 올바른 출력을 생성하지 않으므로 다음을 포함해야 합니다.sed

mapfile -t arr < <(
    echo '"test example1" "test2 example2"' |
    sed 's/" "/"\n"/g'
)

답변2

eval "arr=( $(echo '"test example" "test2 example"') )"

echo "${arr[0]}"

for e in "${arr[@]}"; do
   echo "<$e>"
done

산출

test example

<test example>
<test2 example>

관련 정보