导出具有动态数组名称的数组

export an array with dynamic array name

假设有一个代码

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

Working Demo