当参数是一个数组时,如何扩展参数?
如果参数是一个简单的变量,我们可以使用感叹号进行间接引用。
single_fruit()
{
if [ "$#" != 1 ]; then exit 1; fi
echo ${!1}
}
MYVAR=Persimmon
single_fruit MYVAR
我希望您能够将数组参数的操作与直接迭代数组元素的操作区分开来:
FRUIT=(Papaya Pineapple)
for f in ${FRUIT[@]}
do
echo ${f}
done
我想在一个函数中进行迭代:
multi_fruit()
{
if [ "$#" != 1 ]; then exit 1; fi
PARAMETER=${1}
for i in ${!PARAMETER[@]}
do
echo ${i}
done
}
MOREFRUITS=(Mango Melon)
multi_fruit MOREFRUITS
你能将这个最后一个函数迭代到数组元素上吗?