在 Bash 中传递所有参数
在 Bash 脚本中,我们主要使用语法 $1 $2 $3 ... $N
在函数中传递变量。 这里 N 是非负整数,如 1, 2, 3, ....
但是有一种快捷方式可以完成传递所有参数的相同任务。 本文将讨论如何在函数中传递所有参数。
此外,我们将看到必要的示例和解释,以使主题更容易理解。
在 Bash 中传递所有参数
为此,我们将使用 $@
来传递所有参数。 让我们看看下面的示例代码。
My_Friends () {
echo "Your friend's names are: "$@""
}
My_Friends Alen Walker John
在上面的示例中,我们在名为 My_Friends 的函数中传递了三个参数。 我们使用 $@ 接收函数中的所有函数。
现在,当您运行上面的示例时,您将获得如下所示的输出。
Your friend's names are: Alen Walker John
现在执行相同任务的传统方法如下所示。
My_Friends () {
echo "Your friend's names are: $1 $2 $3"
}
My_Friends Alen Walker John
在上面的代码中,我们手动包含了所有参数。 这也将提供与我们之前提供的示例相同的输出。
请注意
,如果您必须单独处理所有参数,则无法手动包含它们。 例如,如果您要像我们下面的示例一样使用所有传递的参数执行添加操作,那么您不能使用此快捷方式。
让我们检查下面的例子。
Add () {
echo The sum is: $(( $1+$2+$3 ))
}
Add 1 2 3
正如我们所讨论的,您必须在最近共享的示例中单独提及所有参数。 上述程序的输出如下所示。
The sum is: 6
本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。
相关文章
在 Bash 中解析 XML
发布时间:2023/06/11 浏览次数:109 分类:操作系统
-
本文将展示我们如何通过 Bash 解析 XML。我们将在这里讨论两个库。 我们的第一个库是 xmllint,第二个库称为 XMLStarlet。在 Bash 中使用 xmllint 解析 XML
Bash 脚本中的 Echo Tab 字符
发布时间:2023/06/11 浏览次数:198 分类:操作系统
-
本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。
在 Bash 中回显到 stderr
发布时间:2023/06/11 浏览次数:102 分类:操作系统
-
本文将了解 stderr 及其功能。 此外,我们将查看一些示例,这些示例将使该主题更容易理解。在 Bash 中回显到 stderr 命令 stderr 主要用于在执行任何命令期间保持错误的重新编码。
在 Bash 中连接多个文件
发布时间:2023/06/10 浏览次数:170 分类:操作系统
-
有时出于各种目的,我们需要将多个文件连接成一个文件。 在 Bash 脚本中,很容易完成这项任务。在 Bash 中连接多个文件
在 Bash 中打开 Emacs
发布时间:2023/06/10 浏览次数:50 分类:操作系统
-
本文将展示我们如何在 Bash 中打开 Emacs。 我们还将讨论如何安装 Emacs 文本编辑器。在您的系统中安装 EMACS 假设您的系统中没有 Emacs。
在 Bash 中清除终端屏幕
发布时间:2023/06/10 浏览次数:101 分类:操作系统
-
有多种方法可以在 bash 脚本中清除终端。 本文将讨论 3 种清除终端的方法。使用 tput reset 清除终端屏幕 第一种方法使用关键字 tput reset 来清除屏幕。
在 Bash 中使用双管道和单管道
发布时间:2023/06/10 浏览次数:122 分类:操作系统
-
在本文中,我们将了解如何使用双管道(也称为 OR)和 Bash 脚本中的管道。 此外,我们将看到必要的示例和解释,以使主题更容易理解。在Bash中使用双管道 ||
在 Bash 中跳出循环
发布时间:2023/06/10 浏览次数:163 分类:操作系统
-
我们将停止三个最常用的循环:while、for 和 until。 让我们一一开始。跳出 Bash 中的 while 循环;跳出 Bash 中的 until 循环
从命令行重新加载 .bash_profile
发布时间:2023/06/10 浏览次数:116 分类:操作系统
-
本文将展示我们如何在 macOS 中创建、删除和编辑 .bash_profile。 我们将通过必要的命令逐步学习它们。创建 .bash_profile;编辑并重新加载 .bash_profile。