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

  • 本文关键字:数组 动态 bash shell sh
  • 更新时间 :
  • 英文 :


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

工作演示

相关内容

  • 没有找到相关文章

最新更新