我想一個數組參數傳遞給在bash的功能,並編寫一些測試代碼:如何使用數組作爲函數變量在bash
#!/bin/sh
function foo {
a=$1;
for i in ${a[@]} ; do
echo $i
done
}
names=(jim jerry jeff)
foo ${names[@]}
上面的代碼只是顯示吉姆,而不是三Ĵ*。所以我的問題是:
- 爲什麼我的代碼不工作
- 什麼做
感謝,但我想要得到的陣列,以防止原來被改變 – 2012-03-16 07:50:11
你嘗試將其與「$」像傳遞給函數的本地副本:FOO $ {}的名字? – sirgeorge 2012-03-16 07:54:08
yeeeeeeeeeeeees – 2012-03-16 07:55:30