如何在shell脚本中将数组作为函数传递?
我写了以下代码:
function test(){
param1 = $1
param2 = $2
for i in ${$param1[@]}
do
for j in ${param2[@]}
do
if($(i) = $(j) )
then
echo $(i)
echo $(j)
fi
done
done
}
Run Code Online (Sandbox Code Playgroud)
但我得到了 line 1: ${$(param1)[@]}: bad substitution
dog*_*ane 17
有很多问题:
=在分配变量时,你不能有空格test因为这是一个shell命令这是固定版本:
myFunction(){
param1=("${!1}")
param2=("${!2}")
for i in ${param1[@]}
do
for j in ${param2[@]}
do
if [ "${i}" == "${j}" ]
then
echo ${i}
echo ${j}
fi
done
done
}
a=(foo bar baz)
b=(foo bar qux)
myFunction a[@] b[@]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14404 次 |
| 最近记录: |