shell 使用陣列作為函式引數的方法 詳解

2022-09-26 15:36:18 字數 756 閱讀 6498

因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。

#!/bin/b程式設計客棧ash

function showarr(); do

echo $i

done

}regions=("gz" "sh" "bj")

showarr $reg程式設計客棧ions

exit 0

把**儲存為test.sh後執行,只輸出了第乙個元素。

./test.sh

gz$1表示獲取函式的第乙個引數,而函式的第乙個引數就是regions陣列,這樣就奇怪了,為什麼只能獲取到陣列的第乙個元素呢?

經測試echo $regions

只會輸出第乙個元素,所以使用regions作為引數傳遞,只會傳遞第乙個元素。

因此需要把引數寫成 「$」 才可以作為陣列傳遞。

**修改後如下:

#!/bin/bash

function showarr(); do

echo $i

done

}regions=("gz" "sh" "bj")

showarr "$"

exit 0

執行後輸出陣列所有元素,因此修改後可以把陣列作為函式引數傳遞使用。

./test.sh

gzsh

bj本文標題: shell 使用陣列作為函式引數的方法(詳解)

本文位址: /os/linux/184129.html

shell 使用陣列作為函式引數的方法

因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。bin bash function showarr do echo idone regions gz sh bj showarr regions exit 0把 儲存...

shell 使用陣列作為函式引數的方法

因工作需要,需要使用shell開發一些小工具,當使用陣列作為函式引數時,發現只能傳遞陣列的第乙個元素,陣列後面的元素不能傳遞到函式內。bin bashfunction 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...