文字列形式のみを使用してbash配列を構成する

文字列形式のみを使用してbash配列を構成する

文字列値を環境変数に渡し、bashにそれを配列として認識させる方法はありますか?つまり、bashに文字列が配列であることを知らせる特別な文字列形式はありますか?それとも配列に似ていますか?

http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_02.html

たとえば、

#!/usr/bin/env bash

my_array="$this_is_an_env_var"

ベストアンサー1

:> export ar=(foo bar baz) # create and "export" array
:> bash -c 'echo ${ar[1]}' # array is not visible in a regular child process

:> declare -p ar           # get a string which correctly creates the array
declare -a ar=([0]="foo" [1]="bar" [2]="baz")
:> my_array="$(declare -p ar)" bash -c 'eval "$my_array";echo ${ar[1]}'
bar

eval文字列変数を配列変数に変換します。evalただし、信頼できるデータソースでのみ使用できます。

おすすめ記事