Bash文字列を別の変数に分割するには?

Bash文字列を別の変数に分割するには?

サンプル文字列があります。

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")

ただし、潜在的なコマンドや特殊文字を含む変数には注意が必要です。

関連情報