![Bash 문자열을 별도의 변수로 분할하는 방법은 무엇입니까?](https://linux55.com/image/166636/Bash%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EB%B3%84%EB%8F%84%EC%9D%98%20%EB%B3%80%EC%88%98%EB%A1%9C%20%EB%B6%84%ED%95%A0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
샘플 문자열이 있습니다.
echo $ExampleString
"Hello World" var2 var3
문자열을 별도의 변수로 분할하는 방법은 무엇입니까?
원하는 결과:
echo ${ExampleStringArray[0]}
Hello World
echo ${ExampleStringArray[1]}
var2
echo ${ExampleStringArray[2]}
var3
답변1
eval
다음을 사용하여 배열을 만들 수 있습니다 .
eval ExampleStringArray=($ExampleString)
이렇게 하면 다음이 생성됩니다.
declare -a ExampleStringArray=([0]="Hello World" [1]="var2" [2]="var3")
하지만 잠재적인 명령이나 특수 문자가 포함된 변수에는 주의해야 합니다.