shell 使用数组作为函数参数的方法(详解)
2017-04-06 09:22
861 查看
因工作需要,需要使用shell开发一些小工具,当使用数组作为函数参数时,发现只能传递数组的第一个元素,数组后面的元素不能传递到函数内。
#!/bin/bash function showArr(){ arr=$1 for i in ${arr[*]}; do echo $i done } regions=("GZ" "SH" "BJ") showArr $regions exit 0
把代码保存为test.sh后执行,只输出了第一个元素。
./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 GZSH BJ
以上这篇shell 使用数组作为函数参数的方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- shell 使用数组作为函数参数的方法
- GoLang数组初始使用方法以及作为函数参数(1)
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- PB调用SAP的Web Service结构体数组参数方法详解(使用C#调用Web Service生成dll)
- C语言中数组作为函数的参数以及返回值的使用简单入门
- 使用java模拟scala函数式编程将函数作为参数传入方法中
- 使用标量值函数作为主键自增值的时候,动软代码生成器的插入方法需要去掉主键的参数。
- 终于找到了可以使用数组作为Oracle程序包参数的方法
- PHP数组函数使用方法详解
- 指向函数的指针作为参数时的使用方法
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- 详解C++编程中用数组名作函数参数的方法
- QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题
- 关于matlab使用函数作为参数的方法
- 数组作为函数参数的传递方法
- const char*与char*作为函数参数使用详解
- 数组作为函数参数并传递数组元素个数的几种有效方法
- 将数组作为函数的参数的方法
- c++中关于数组作为函数参数的几种方法