因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。
#!/bin/bashfunction showarr
(); do
echo
$idone}regions=("gz"
"sh"
"bj")showarr $regions
exit
0
把**儲存為test.sh後執行,只輸出了第乙個元素。
./test.shgz
$1表示獲取函式的第乙個引數,而函式的第乙個引數就是regions陣列,這樣就奇怪了,為什麼只能獲取到陣列的第乙個元素呢?
經測試,
echo
$regions
只會輸出第乙個元素,所以使用regions作為引數傳遞,只會傳遞第乙個元素。
因此需要把引數寫成 「$」 才可以作為陣列傳遞。
**修改後如下:
#!/bin/bashfunction showarr
(); do
echo
$idone}regions=("gz"
"sh"
"bj")showarr "$"
exit
0
執行後輸出陣列所有元素,因此修改後可以把陣列作為函式引數傳遞使用。
./test.shgzshbj
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!
因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。
#!/bin/bashfunction showarr
(); do
echo
$idone}regions=("gz"
"sh"
"bj")showarr $regions
exit
0
把**儲存為test.sh後執行,只輸出了第乙個元素。
./test.shgz
$1表示獲取函式的第乙個引數,而函式的第乙個引數就是regions陣列,這樣就奇怪了,為什麼只能獲取到陣列的第乙個元素呢?
經測試,
echo
$regions
只會輸出第乙個元素,所以使用regions作為引數傳遞,只會傳遞第乙個元素。
因此需要把引數寫成 「$」 才可以作為陣列傳遞。
**修改後如下:
#!/bin/bashfunction showarr
(); do
echo
$idone}regions=("gz"
"sh"
"bj")showarr "$"
exit
0
執行後輸出陣列所有元素,因此修改後可以把陣列作為函式引數傳遞使用。
./test.shgzshbj
shell 使用陣列作為函式引數的方法
因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。bin bash function showarr do echo idone regions gz sh bj showarr regions exit 0把 儲存...
shell 使用陣列作為函式引數的方法
使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。bin bash function showarr do echo i done regions gz sh bj showarr regions exit 0把 儲存為test.s...
shell 使用陣列作為函式引數的方法 詳解
因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。bin b程式設計客棧ash function showarr do echo i done regions gz sh bj showarr reg程式設計客棧io...