這篇文章主要介紹shell如何使用數組作為函數參數,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
公司主營業(yè)務:做網站、網站制作、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯(lián)網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出青山免費做網站回饋大家。因工作需要,需要使用shell開發(fā)一些小工具,當使用數組作為函數參數時,發(fā)現只能傳遞數組的第一個元素,數組后面的元素不能傳遞到函數內。
#!/bin/bash function showArr(){ arr=$1 for i in ${arr[*]}; do echo $i done } regions=("GZ" "SH" "BJ") showArr $regions exit 0
把代碼保存為test.sh后執(zhí)行,只輸出了第一個元素。
./test.sh GZ
$1表示獲取函數的第一個參數,而函數的第一個參數就是regions數組,這樣就奇怪了,為什么只能獲取到數組的第一個元素呢?
經測試
echo $regions
只會輸出第一個元素,所以使用regions作為參數傳遞,只會傳遞第一個元素。
因此需要把參數寫成 “${regions[*]}” 才可以作為數組傳遞。
代碼修改后如下:
#!/bin/bash function showArr(){ arr=$1 for i in ${arr[*]}; do echo $i done } regions=("GZ" "SH" "BJ") showArr "${regions[*]}" exit 0
運行后輸出數組所有元素,因此修改后可以把數組作為函數參數傳遞使用。
./test.sh GZ SH BJ
以上是“shell如何使用數組作為函數參數”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!