检查 Bash 中的参数数量

有时,在运行 Bash 脚本时,我们还会将某些参数传递给这些脚本,这些参数可能会在脚本内的不同计算中使用。 此外,这些参数的数量也可能在 Bash 脚本的整体结果中发挥非常重要的作用,具体取决于其逻辑。 因此,本文将教您不同的方法,您可以通过这些方法方便地检查 Bash 脚本中的参数数量。

找出 Bash 中的参数数量

有不同的方法可用于检查在执行 Bash 脚本时传递给它的参数的数量。 您可以通过以下示例学习这些方法:

示例 1:仅打印参数的数量

在这个 example,我们打印提供给 Bash 脚本的参数总数。 为此,我们编写了如下图所示的简单 Bash 脚本:

在这个脚本中,我们使用了 Bash 的“$#”特殊变量,它保存了提供给 Bash 脚本的参数总数。 我们只是使用这个变量和“echo”命令在终端上打印它的值。

为了测试这个脚本,我们使用了以下命令:

$ bash args.bash 1 2 3 4 5

在运行此 Bash 脚本时,我们向它传递了五个参数。 因此,传递给这个 Bash 脚本的参数数量变成了“5”,如下图所示:

示例 2:打印参数的值及其编号

现在,我们还将在终端上打印参数的值及其总数。 为此,我们使用以下 Bash 脚本:

在这个 example,我们想在执行 Bash 脚本时将两个参数传递给它。 因此,我们打印了“$1”和“$2”特殊变量的值。 但是,如果您打算将两个以上的参数传递给 Bash 脚本,您也可以使用“$3”、“$4”等特殊变量。 然后,我们简单地使用“$#”特殊变量在终端上打印他们的总数。

在执行此脚本时,我们有意将两个参数传递给它,如下图所示。 如果您将两个以上的参数传递给同一个脚本,则仅打印前两个的值,因为我们在脚本中对其进行了硬编码。

$ bash args.bash 1 2

提供给我们的 Bash 脚本的参数总数及其确切值如下图所示:

示例 3:使用“[email protected]” 特殊变量

在这个 example,我们不会限制可以提供给 Bash 脚本的参数数量。 您可以考虑使用以下 Bash 脚本来清楚地理解这一点:

在这个脚本中,我们使用了“[email protected]” 特殊变量,用于在终端上打印提供的参数的值。 这 ”[email protected]” 特殊变量充当缓冲区,保存提供给 Bash 脚本的所有参数的值。 因此,我们可以向这个 Bash 脚本传递任意数量的参数。 然后,我们使用“$#”特殊变量来打印终端上的参数总数。

为了执行这个脚本,我们使用了下面的命令。 这一次,我们向 Bash 脚本传递了三个参数:

$ bash args.bash 1 2 3

下图显示了参数的总数及其值:

示例 4:使用“$*”特殊变量

这个 example 和我们的第三个差不多 example. 唯一不同的是,这一次,而不是使用“[email protected]” 特殊变量,我们将使用“$*” 特殊变量,其用途完全相同。 为此修改的 Bash 脚本 example 如下图所示:

在这个脚本中,我们替换了“[email protected]” 与“$*”。 脚本的其余部分与我们的第三个完全相同 example.

我们使用以下命令来执行此脚本:

$ bash args.bash 1 2 3

参数的总数及其值如下图所示:

结论

在本文中,我们希望帮助您了解检查传递给 Bash 脚本的参数总数的方法。 在这方面,我们通过在不同的示例中使用它们与您分享了四种不同的方法。 您可以根据您希望获得的结果的格式选择遵循这些方法中的任何一种。