迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

将数组传递给 Bash 中的函数

作者:迹忆客 最近更新:2023/05/16 浏览次数:

这篇文章是关于在 Bash 脚本中使用函数并将数组传递给它们的。 在进入实际主题之前,我们将简要介绍 Bash 脚本。

Bash 脚本文件包含一系列 Bash 命令。 这些命令是我们经常在命令行上键入的命令(如 ls 或 cp)和我们可以在命令行上键入的命令的组合。

任何可以在命令行上输入和执行的命令,如果包含在脚本文件中并运行,都会执行相同的操作。


Bash 脚本中的函数

在 shell 脚本中,可重用代码块使用 Bash 函数进行分组。 大多数编程语言都支持此功能,它也被称为过程、方法或子例程等其他名称。

一种将可重用代码段存储在一个名称下的方法称为 Bash 函数。 在编写 Bash 脚本时使用函数有两个优点:

  1. 将函数直接读入 shell 的内存可以保存它供以后使用。 今天的计算机有足够的内存,所以使用函数比重复编写相同的代码要快。
  2. 借助函数,可以将长 shell 脚本分解为可重用的模块化代码块。 这些块更容易创建和跟上。

在 Bash 中声明一个函数

在 Bash 中有两种声明函数的方法:

  1. 声明函数的一种方法是仅使用函数名称,如下所示:
    <function_name> () {
         <set of commands>
    }
    
  2. 另一种方法是像这样使用 function 关键字:
    function <function_name> {
         < set of commands>
    }
    

对于这两种类型的声明,我们也可以使用这样的单行声明:

function <function_name> { <set of commands>; }

使用函数时,必须牢记以下事实:

  1. 无论是使用 Bash 脚本还是直接使用终端,写在一行中的命令必须以分号 (;) 结尾。
  2. 添加函数保留字时,括号是可选的。
  3. 函数的主体包含出现在花括号或 之间的命令。 主体中允许有任意数量的声明、变量、循环或条件语句。
  4. 尝试给出描述性的函数名称。 描述性名称在其他开发人员查看代码时很有用,但在测试函数和命令时不需要它们。

在 Bash 中调用函数

要调用一个函数,我们使用它的名字。 确保在调用函数之前声明该函数。

让我们看看下面的代码:

#!/bin/Bash
func1 () {
        echo Hello from function
        echo Good Bye!
}
func1

此代码将提供以下输出:

Bash 中函数的输出


Bash 中的函数参数

如果要将参数传递给函数,参数应添加在函数调用之后并以空格分隔。 下表列出了使用 Bash 函数参数的几个选项。

参数 目的
$0 当在终端中定义一个函数时,它会保存它的名字。 在 Bash 脚本中指定时,$0 输出脚本的名称和位置。
$1、$2 等。 这对应于函数名称后面的参数位置。
$# 这告诉总数的计数。 通过的参数。
$@ 和 $* 这将保存传递的参数的数组或列表类型。
"$@" 它将传递的列表分解为单独的参数,例如,"$1"、"$2" 等。

将数组传递给 Bash 中的函数

考虑下面的示例,我们将数组列表传递给函数,函数会将其分解为单独的变量并将它们打印在屏幕上。

#!/bin/Bash
function printArray() {
   a=("$@")
   for b in "${a[@]}";
      do
          echo "$b"
      done
}
array=("first" "second" "third")
printArray "${array[@]}

请注意 ,当我们调用该函数时,我们将参数作为括在括号中的列表传递。 这将使它们成为一个数组,函数将它们保存在 $@ 中。

然后我们循环打印该数组。

输出:

数组传递函数的输出

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:106 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

Bash 变量相乘

发布时间:2023/05/18 浏览次数:50 分类:操作系统

本篇文章介绍如何在 Bash 中将两个变量相乘。在 Bash 中乘以变量。将两个变量相乘在 Bash 中是一个简单的操作。

Bash md5sum 命令

发布时间:2023/05/18 浏览次数:197 分类:操作系统

本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。

在 Bash 中排序数组

发布时间:2023/05/18 浏览次数:150 分类:操作系统

对数组进行排序对于任何编程语言来说都是一项非常常见的任务。 在 Bash 脚本中,我们还可以通过两种不同的方式完成此任务。

Bash 中的多维数组

发布时间:2023/05/18 浏览次数:70 分类:操作系统

多维数组对于任何程序都是非常重要的元素。 它主要用于创建数据的表视图和许多其他用途。本文演示如何创建二维数组。 此外,我们将通过必要的示例和解释来讨论该主题。

在 Bash 中打印数组元素

发布时间:2023/05/18 浏览次数:192 分类:操作系统

本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。在 Bash 中使用 echo 语句打印数组元素

如何在 CentOS 中获取 IP 地址

发布时间:2023/05/04 浏览次数:109 分类:操作系统

这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便