gpt4 book ai didi

bash - 遍历 bash 数组,动态替换数组名,这可能吗?

转载 作者:行者123 更新时间:2023-11-29 09:05:43 27 4
gpt4 key购买 nike

我有一个迭代值数组的脚本,像这样(为了这个问题的目的而简化):

COUNTRIES=( ENGLAND SCOTLAND WALES )

for i in ${COUNTRIES[@]}
do
echo "Country is $i "
done

我的问题是,是否可以动态替换数组?例如,我希望能够传入数组以在运行时进行迭代。我试过以下但我认为我的语法可能是错误的

COUNTRIES=( ENGLAND SCOTLAND WALES )
ANIMALS=( COW SHEEP DOG )

loopOverSomething()
{
for i in ${$1[@]}
do
echo "value is $i "
done
}

loopOverSomething $ANIMALS

我得到 line 22: ${$2[@]}: bad substitution

最佳答案

您可以为此使用 bash 的间接扩展:

loopOverSomething()
{
looparray="$1[@]"
for i in "${!looparray}"
do
echo "value is $i"
done
}

关于bash - 遍历 bash 数组,动态替换数组名,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com