Shell脚本读取命令行参数完全指南:Linux Bash实用教程

阅读用户输入是编程过程中的重要环节。在今天的文章中,我们将学习如何在shell脚本中读取命令行参数。对于任何Linux用户来说,shell脚本都是一种必不可少的工具。它们在自动化日常任务和创建自己的命令或宏方面扮演着重要角色。

这些shell脚本可以通过参数形式接收用户输入。

当我们传递参数给一个shell脚本时,我们可以用它们在脚本中进行本地顺序处理。我们可以使用这些参数来获取输出,甚至像shell脚本中的变量一样修改输出。

命令行参数是什么?

命令行参数是在bash shell中执行脚本时传递给脚本的参数。

在Linux中它们也被称为位置参数。

我们使用命令行参数来表示存储命令及其相关参数的内存位置。理解命令行参数对于学习Shell脚本的人来说至关重要。

在这篇文章中,我们将讨论命令行参数的概念,以及它们在 shell 脚本中的使用。

Shell脚本如何理解命令行参数

命令行参数有助于使shell脚本对用户具有交互性。它们帮助脚本识别所需的操作数据。因此,命令行参数是任何实际的shell脚本使用的重要组成部分。

Bash shell为指向通过shell脚本传递的参数而保留了特殊变量。Bash以数字形式保存这些变量($1,$2,$3,… $n)。

在我们的Shell脚本中,第一个命令行参数为$1,第二个为$2,第三个为$3。一直持续到第9个参数。变量$0存储着脚本的名称或命令本身。

我们还有一些特殊变量,它们是位置参数,但它们的功能与我们的命令行参数紧密相关。

特殊变量$#存储着参数的总数。我们还有$@和$*作为通配符,用于表示所有的参数。我们使用$$来查找当前shell脚本的进程ID,而$?可以用来打印脚本的退出码。

在Shell脚本中读取命令行参数

现在我们已经对Linux中的命令行参数有了一定的了解。现在是时候将这些知识应用到实际操作中了。

在本教程中,我们将通过一个示例来学习如何在您的shell脚本中使用命令行参数。

首先,我们将创建一个shell脚本来演示我们在前一部分中讨论的所有保留变量的工作原理。使用nano或您选择的任何首选编辑器,并复制以下内容。

这是我们计划用于这个目的的Shell脚本。

#!/bin/sh
echo "脚本名称: $0"
echo "脚本的第一个参数是 $1"
echo "第二个参数是 $2"
echo "完整的参数列表是 $@"
echo "参数总数: $#"
echo "进程ID是 $$"
echo "脚本的退出代码: $?"

一旦我们完成了,我们将把脚本保存为PositionalParameters.sh,并退出我们的文本编辑器。

现在,我们将在我们的系统上打开命令行,并使用以下参数运行shell脚本。

./PositionalParameters.sh 学习 命令行 参数

脚本将使用我们指定的参数运行,并使用位置参数生成输出。如果您按照步骤正确操作,您应该会看到以下屏幕。

读取参数

我们的输出通过在调用时将保留变量替换为适当的参数来显示正确的输出。

该过程在进程ID 14974下运行,并以退出代码0结束。

总结

能够在Shell脚本中读取命令行参数是一项重要技能,因为它可以让你创建脚本,能够接受用户输入并根据逻辑路径生成输出。

通过命令行参数的帮助,你的脚本可以极大地简化你每天需要处理的重复任务,创造你自己的命令并为你节省时间和精力。

我们希望这篇文章能帮助您了解如何在shell脚本中读取命令行参数。如果您有任何评论、问题或建议,请随时在下方的评论中联系我们。

bannerAds