国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

shell 使用數組作為函數參數的方法(詳解)

2020-07-27 18:55:54
字體:
來源:轉載
供稿:網友

因工作需要,需要使用shell開發一些小工具,當使用數組作為函數參數時,發現只能傳遞數組的第一個元素,數組后面的元素不能傳遞到函數內。

#!/bin/bashfunction showArr(){  arr=$1  for i in ${arr[*]}; do    echo $i  done}regions=("GZ" "SH" "BJ")showArr $regionsexit 0

把代碼保存為test.sh后執行,只輸出了第一個元素。

./test.shGZ

$1表示獲取函數的第一個參數,而函數的第一個參數就是regions數組,這樣就奇怪了,為什么只能獲取到數組的第一個元素呢?

經測試

echo $regions

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

因此需要把參數寫成 “${regions[*]}” 才可以作為數組傳遞。

代碼修改后如下:

#!/bin/bashfunction showArr(){  arr=$1  for i in ${arr[*]}; do    echo $i  done}regions=("GZ" "SH" "BJ")showArr "${regions[*]}"exit 0

運行后輸出數組所有元素,因此修改后可以把數組作為函數參數傳遞使用。

./test.shGZSHBJ

以上這篇shell 使用數組作為函數參數的方法(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家界市| 沾化县| 新巴尔虎右旗| 台中县| 岐山县| 边坝县| 山东省| 连江县| 夏邑县| 泾阳县| 响水县| 平阳县| 绍兴市| 元谋县| 罗甸县| 德钦县| 湖北省| 白山市| 曲麻莱县| 芒康县| 嘉义县| 沂水县| 孟连| 东明县| 民县| 徐汇区| 河曲县| 沈阳市| 抚顺市| 大理市| 周宁县| 开平市| 宜宾县| 吉木萨尔县| 黔江区| 饶阳县| 宁海县| 宣化县| 珲春市| 抚州市| 怀宁县|