Arrays bash变量数组名

Arrays bash变量数组名,arrays,bash,variables,Arrays,Bash,Variables,我试图让用户选择数组名,因为数组是一组域名 while getopts h:c: option do case "${option}" in c) client=${OPTARG}; h) usage;; esac done 就像我想要client=一个客户阵列一样 customer1=(my_custdomain.com, my_custdomain2.com...) custmoer2=(my1_custdomain.com, my1c_cu

我试图让用户选择数组名,因为数组是一组域名

while getopts h:c: option
do
      case "${option}"
      in
      c) client=${OPTARG};
      h) usage;;
esac
done
就像我想要client=一个客户阵列一样

customer1=(my_custdomain.com, my_custdomain2.com...)
custmoer2=(my1_custdomain.com, my1c_custdomain2.com...)

for i in client
do
      func_name
done

到目前为止,我对展开式/引号感到非常困惑。

您需要间接的参数展开

# No commas
customer1=(my_custdomain.com my_custdomain2.com)
customer2=(my1_custdomain.com my1c_custdomain2.com)

arrayref=$client[@]
for i in "${!arrayref}"; do
do
      func_name
done

看看,我不清楚你想干什么。您似乎有:一个函数
func\u name
,它没有传递任何参数;一个项目列表,其中只包含
client
,您正在使用从未使用过的变量
i
对其进行迭代;不清楚您在
$client
中存储了什么(是数字还是数组的名称)。我假设
custmore2
是一个打字错误;也许你想在$client中为i使用
。也许您只是在寻找用于间接扩展的
${!var}
符号。也许你需要读一下。请看一看:完美,工作得很好。谢谢,谢谢,谢谢。