For假设有一个代码
comp="LP"
n_names="abc456.com,def123.com,wxy098.com"
IFS=',' read -r -a n_split_list <<< "$n_names"
现在,我想使用以下变量格式导出n_split_list数组。记住comp不必总是";LP"。它会根据脚本的参数进行更改。
export "$comp"_list="${n_split_list[@]}"
但问题是在导出时出现的(只导出数组的第一个项(请帮忙!
假设您的值可能包含空格,您可以再次使用带有动态变量名和逗号的read
作为IFS
:
comp="LP"
n_names="abc456.com,def123.com,w xy098.com"
IFS=',' read -r -a n_split_list <<< "$n_names"
IFS=, read -ra ${comp}_list < <(printf '%s,' "${n_split_list[@]}")
# check content of new array
declare -p ${comp}_list
declare -a LP_list=([0]="abc456.com" [1]="def123.com" [2]="w xy098.com")
工作演示