检查 Bash 中是否存在输入参数的问题

 更新时间:2023年06月15日 09:01:53   作者:迹忆客  
这篇文章主要介绍了检查 Bash 中是否存在输入参数,通过本文向您展示如何检查输入参数是否存在或现有参数的数量,需要的朋友可以参考下

当我们创建 Bash 脚本时,我们可能希望在我们的脚本中使用参数来成功运行。 因此,我们需要创建一个脚本来检查用户在脚本中使用的输入参数的数量。

当用户在使用脚本或命令时没有传递所需参数时,所有这些都可以防止意外行为,然后我们可以传递一条错误消息,告诉用户他们没有使用所需数量的参数。

本文将向您展示如何检查输入参数是否存在或现有参数的数量。

在 Bash 中使用 $# 检查输入参数是否存在

在 Bash 中,一个特殊变量 $# 保存输入参数。 使用 $#,您可以检查有多少输入参数已传递给 Bash 脚本。

一个简单的 Bash 脚本将向您显示此 $# 变量在不带参数传递或传递两个参数时的含义。

#!/bin/bash
echo "The number of input arguments passed to this script: "
echo $#

让我们在没有输入参数的情况下运行脚本:

$ ./script.sh

终端输出如下图:

The number of input arguments passed to this script:
0

现在,让我们将两个参数传递给同一个脚本:

$ ./script.sh one two

脚本的输出如下:

The number of input arguments passed to this script:
2

现在,我们可以在我们的脚本中使用 $# 和一个条件语句来检查 KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ 是否等于零(意味着没有输入参…#` 大于 0,则条件变为假,并执行条件语句的 else 部分。

#!/bin/bash
if [ $# -eq 0 ]
  then
    echo "No input arguments exist"
    exit 1
else
    echo "The number of input arguments passed:"
    echo $#
fi

让我们使用以下不带参数的命令运行脚本:

$ ./script.sh

代码的输出:

No input arguments exist

现在,让我们运行一个带参数的不同脚本命令:

$ ./script.sh one two

代码的输出是不同的,因为条件检查等于 false:

The number of input arguments passed:
2

除此之外,我们可以使用另一个使用 $[number] 的特殊变量来访问输入参数。 这些是我们可以在 Bash 中使用的位置参数。

如果我们知道我们将获得三个变量或已经确定,我们可以使用下面的代码访问这三个变量。

#!/bin/bash
echo "The input arguments are:"
echo $1 $2 $3

当传递三个参数时,代码的输出将如下所示:

The input arguments are:
one two three

使用 $1 检查 Bash 中是否存在输入参数

记住我们在上一节中讨论的位置参数。 我们可以使用第一个 $1 来检查是否传递了任何输入参数,因为如果没有输入参数,则位置参数 $1 中不会有任何值。

因此,我们可以使用 if-else 语句,其中条件表达式检查位置参数 $1 中是否存在值。 但是,如果有一个值,它会使用位置参数回显输入参数的数量和第一个参数。

#!/bin/bash
if [ -z "$1" ]
  then
    echo "Please, pass an argument"
    exit 1
else
    echo "The number of input arguments are"
    echo $#
    echo "The first one is"
    echo $1
fi

让我们运行不带参数的代码:

$ ./script.sh

脚本的输出:

Please, pass an argument

现在,让我们用一些参数来运行它:

$ ./script.sh jiyik stack blog

代码的输出:

The number of input arguments are
3
The first one is
jiyik

到此这篇关于检查 Bash 中是否存在输入参数的文章就介绍到这了,更多相关检查 Bash 中是否存在参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux ls命令教程及ls命令使用方法

    linux ls命令教程及ls命令使用方法

    学习linux这么久了,最常用的命令莫属 ls命令了,今天就总结下ls命令的用法与经验技巧。感兴趣的朋友一起看看吧
    2017-08-08
  • Shell脚本实现的基于SVN的代码提交量统计工具

    Shell脚本实现的基于SVN的代码提交量统计工具

    这篇文章主要介绍了Shell脚本实现的基于SVN的代码提交量统计工具,本文直接给出实现脚本代码,需要的朋友可以参考下
    2015-06-06
  • Shell脚本判断用户的输入内容

    Shell脚本判断用户的输入内容

    今天小编就为大家分享一篇关于Shell脚本判断用户的输入内容,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • shell脚本实现本地文件与服务器文件同步

    shell脚本实现本地文件与服务器文件同步

    这篇文章主要介绍了本地文件与服务器文件同步shell脚本的方法,然后在文章给大家补充介绍了shell脚本备份本地服务器的文件到远程服务器的实例代码,需要的朋友可以参考下
    2017-11-11
  • linux下批量删除utf8 bom的实现方法

    linux下批量删除utf8 bom的实现方法

    下面小编就为大家带来一篇linux下批量删除utf8 bom的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Git 常用命令整理

    Git 常用命令整理

    本文主要介绍了Git 命令,这里对Git 常用命令进行了整理,在开发项目过程中足够用了,有需要的小伙伴可以参考下
    2016-07-07
  • @echo off的作用详解

    @echo off的作用详解

    本文主要介绍了@echo off的作用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 通过shell进行数学运算的多种方式

    通过shell进行数学运算的多种方式

    这篇文章主要介绍了通过shell进行数学运算的多种方式、有let命令 、$[]形式、expr命令等,需要的朋友可以参考下
    2014-03-03
  • Linux 日常常用指令及应用小结

    Linux 日常常用指令及应用小结

    最近在学习一些基本的Linux指令,在这里总结一下,在搭环境中常用的一些指令,熟悉这些指令就基本能够使用CentOS进行日常操作了
    2017-08-08
  • ftp自动上传脚本分享

    ftp自动上传脚本分享

    调试设备时,往往需要反复将新编译的二进制通过ftp上传到目标机的指定目录下,此工作的重复性过多,考虑将操作写为shell脚本
    2014-02-02

最新评论