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

在今天的文章中,我们将学习如何在壳脚本中阅读命令行参数。壳脚本是任何Linux用户必不可少的工具,它们在自动化日常任务和创建自己的命令或宏方面发挥着重要作用。

这些壳脚本可以以参数的形式收到用户的输入。

当我们将参数传输到壳脚本时,我们可以使用它们进行本地序列,我们可以使用这些参数获取输出,甚至修改输出,就像在壳脚本中的变量(/社区/教程/arrays-in-shell-scripts)。

什么是命令线论点?

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

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

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

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

Shell 脚本如何理解命令行论点

命令行参数有助于使壳脚本对用户进行交互。它们有助于脚本识别它需要运作的数据。

bash shell有特殊的变量,以指向我们通过 shell 脚本传递的参数。

在这里,我们的壳脚本中的第一个命令行参数为 $1,第二个 $2 和第三个为 $3. 直到第 9 个参数为止。

我们还有一些特殊字符,这些字符是定位参数,但它们的功能与我们的命令行参数密切相关。

特殊字符 $# 存储了参数总数. 我们还使用 $@ 和 $* 作为 wildcard 字符来表示所有参数. 我们使用 $$ 来找到当前壳脚本的进程 ID,而 $? 可以用来打印我们的脚本的输出代码。

阅读 Shell 脚本中的命令行参数

现在我们已经对 Linux 中的命令行参数有了了解,现在是时候将这些知识用于 netstat 命令的实际应用了。

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

首先,我们将创建一个壳脚本来演示我们在上一节讨论的所有保留变量的工作,使用 nano 或您选择的任何偏好编辑器,并复制以下内容。

这是我们计划用于此目的的壳脚本。

1#!/bin/sh
2echo "Script Name: $0"
3echo "First Parameter of the script is $1"
4echo "The second Parameter is $2"
5echo "The complete list of arguments is $@"
6echo "Total Number of Parameters: $#"
7echo "The process ID is $$"
8echo "Exit code for the script: $?"

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

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

1./PositionalParameters.sh learning command line arguments

该脚本将使用我们的指定的参数运行,并使用定位参数生成输出. 如果您正确遵循步骤,您应该看到下面的屏幕。

Reading Arguments

我们的输出显示了正确的输出,我们在调用它时用相应的参数替换了保留变量。

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

包装上

在壳脚本中读取命令行参数是必不可少的技能,因为它允许您创建可以从用户输入并基于逻辑路径生成输出的脚本。

借助命令行论点,你的脚本可以大大简化你可能需要每天处理的重复任务,创建自己的命令,同时节省你的时间和精力。

我们希望本文能够帮助您了解如何在壳脚本中阅读命令行论点. 如果您有任何评论,查询或建议,请在下面的评论中与我们联系。

Published At
Categories with 技术
Tagged with
comments powered by Disqus