shell 使用数组作为函数参数的方法(详解)

 更新时间:2017年04月06日 09:22:01   投稿:jingxian  
下面小编就为大家带来一篇shell 使用数组作为函数参数的方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

因工作需要,需要使用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
GZ
SH
BJ

以上这篇shell 使用数组作为函数参数的方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一波实用的Bash Shell整理

    一波实用的Bash Shell整理

    这篇文章主要介绍了一波实用的Bash Shell整理,适用于Ubuntu等Debian系的Linux系统,需要的朋友可以参考下
    2015-06-06
  • Solr服务在Linux上的搭建的图文教程

    Solr服务在Linux上的搭建的图文教程

    下面小编就为大家分享一篇Solr服务在Linux上的搭建的图文教程,具有很好的参考价值,希望对大家有所帮助
    2017-12-12
  • Linux启动新进程的三种方法

    Linux启动新进程的三种方法

    本篇文章主要介绍了Linux启动新进程的三种方法以及这三种方法之间的区别。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • shell脚本实现猜数游戏

    shell脚本实现猜数游戏

    这篇文章主要为大家详细介绍了shell脚本实现猜数游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 一个shell小案例(创建日期目录)

    一个shell小案例(创建日期目录)

    需要在多个目录中 (如:beijing shanghai tianjin guangzhou 等等) 创建子目录(以年份命名),然后进入子目录,新建目录并以当天的日期命名
    2016-08-08
  • shell wait等待命令的具体使用

    shell wait等待命令的具体使用

    本文主要介绍了shell wait等待命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • bash shell命令行选项与修传入参数处理

    bash shell命令行选项与修传入参数处理

    本文介绍了bash shell命令行参数与命令行选项的操作方法,有关shell 命令行参数的实例教程,有需要的朋友参考下。
    2014-04-04
  • Git代码提交流程及git命令汇总(基础篇)

    Git代码提交流程及git命令汇总(基础篇)

    git 现在的火爆程度非同一般,它被广泛地用在大型开源项目,团队开发,以及独立开发者,甚至学生之中。这篇文章给大家介绍一些Git代码提交流程和Git基础命令的使用,需要的朋友参考下吧
    2017-12-12
  • 浅谈Linux磁盘修复e2fsck命令

    浅谈Linux磁盘修复e2fsck命令

    下面小编就为大家带来一篇浅谈Linux磁盘修复e2fsck命令。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • linux lsof命令详解及实例

    linux lsof命令详解及实例

    这篇文章主要介绍了linux lsof命令详解的相关资料,lsof是一个列出当前系统打开文件的工具,这里详细介绍如何使用,需要的朋友可以参考下
    2017-03-03

最新评论