美文网首页Shell 脚本成长笔记
参数处理(五)测试命令行参数

参数处理(五)测试命令行参数

作者: 赵者也 | 来源:发表于2017-05-03 23:17 被阅读2次

为了使脚本更严谨,防止运行中由于参数错误产生异常,我们通常除了检查参数的个数外,还需要检查参数的值,若指定的参数是文件或目录,还需要检查它是否存在,或是否可以执行等等。

示例 1

下面的脚本中,我们在脚本的开始检查第一个命令行参数是否存在,如果存在,则继续执行脚本的后续内容;如果不存在,打印使用方法,然后退出脚本:

#! /bin/bash

if [ -z "$1" ]
then
        echo "Usage: `basename $0` one-Arg"
        exit 1
fi

上述脚本的运行效果:

使用示例

注意:如果我们在脚本中的测试参数语句之前,加入了设置 bash 选项 nounset(set -o nounset)的语句,那么当我们运行此脚本并且没有指定命令行参数时,它将会报一个未绑定变量的错误(./testArguments_1.sh: 行 5: $1: 未绑定的变量),而不是显示使用方法信息。

示例 2

假设有一个脚本,它可以接收两个命令行参数,并且第二个参数需要指定一个文件,我们一般就需要在脚本的开始部分先检查指定的这个文件是否存在:

#! /bin/bash

ARGS=2

if [ $# -ne "$ARGS" ]
then
        echo "Usage: `basename $0` param1 filename"
        exit 2
fi

varStr=$1

if [ -f "$2" ]
then
        file_name=$2
else
        echo "File \"$2\" does not exist."
        exit 3
fi

上述示例的使用效果:

使用示例

本文参考自 《Linux Shell命令行及脚本编程实例详解

相关文章

  • 参数处理(五)测试命令行参数

    为了使脚本更严谨,防止运行中由于参数错误产生异常,我们通常除了检查参数的个数外,还需要检查参数的值,若指定的参数是...

  • 常用的npm包

    命令行参数处理 nodejs 脚本,命令行参数处理,接受参数parse 可以使用 minimist 参数提示 co...

  • 九、处理用户输入

    简单目录 1.命令行参数 2.处理命令行选项和命令行参数参数 3.read命令获取用户输入 1.命令行参数 在命令...

  • 另一个go命令行参数处理器 - cmdr

    cmdr 是另一个命令行参数处理器。 Golang 自己带有 flags 进行命令行参数处理,算是便利的,然而和 ...

  • 【Python的小技巧(二)】getopt库实现脚本传入参数

    简介 getopt模块用于解析脚本参数,该模块是专门用来处理命令行参数的 解析命令行选项及参数列表 args:要解...

  • Python 获得命令行参数的方法

    Python 获得命令行参数的方法 本篇将介绍python中sys, getopt模块处理命令行参数 如果想对py...

  • python argparse基本用法总结

    argparse模块是命令行参数解决包,可以很方便的接收从命令行传过来参数,也可以对传过来的参数进行定制化处理。原...

  • fiddler接口测试用例设计

    1、输入参数测试:针对输入的参数进行测试,或者说是假设接口参数不正确进行测试,确保对任意类型输入都做了处理(1)输...

  • 接口测试流程-jmeter

    一、接口测试流程 1、参数化: excel文件参数化、数据库参数化、配置文件等 2、预处理请求(前置处理): 对请...

  • decopt库

    Decopt库是专门用于处理命令行参数,这样你就不用在代码里自己编写参数来处理程序的`**kwargs``了。 库...

网友评论

    本文标题:参数处理(五)测试命令行参数

    本文链接:https://www.haomeiwen.com/subject/vgqktxtx.html