`

shell获取参数

阅读更多

 

#!/bin/bash

Usage()
{
    echo -e "Usage: `basename $0` [-a] [-b value] [-c value] [-h] args\n";
    exit 1;
}

PARAM_A_FLAG=0;
PARAM_B_FLAG=0;
PARAM_B_VAL="";
PARAM_C_FLAG=0;
PARAM_C_VAL="";

#可以调整参数的顺序
ARG=`getopt ab:c:h: $*`

#重新设置参数
set --$ARG;

#注意冒号之后的空格一定要有
while getopts ab:c:h PARAM_VAL
do
    case $PARAM_VAL in
    a|auto)
        PARAM_A_FLAG=1;
        ;;
    b)
        PARAM_B_FLAG=1;
        PARAM_B_VAL=$OPTARG;
        ;;
    c|cc)
        PARAM_C_FLAG=1;
        PARAM_C_VAL=$OPTARG;
        ;;
    h|help)
        Usage;
        ;;
    *)
        ;;
    esac
done

if [ $PARAM_A_FLAG -ne 0 ]; then
    echo -e "******** option -a specified! ********\n";
fi

if [ $PARAM_B_FLAG -ne 0 ]; then
    echo "******** option -b specified! ********";
    echo -e "-b:$PARAM_B_VAL\n";
fi

if [ ! -z $PARAM_C_VAL ]; then
    echo "******** option -c specifiled! ********\n";
    echo -e "-c value:$PARAM_C_VAL\n";
fi

shift $(($OPTIND -1));
printf "Remaining arguments are: %s\n" "$*";

 

结果:

./args.sh -a -b bb -c cc dd
******** option -a specified! ********

******** option -b specified! ********
-b:bb

******** option -c specifiled! ********\n
-c value:cc

Remaining arguments are: dd

./args.sh -h
Usage: args.sh [-a] [-b value] [-c value] [-h] args

 

 

分享到:
评论

相关推荐

    java调用shell(包含有参数的调用)

    // 获取Shell脚本的输出 BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream())); StringBuffer sb = new StringBuffer(); String line; while ((line = br.readLine()) != null...

    解决Unity不能调用shell脚本传递参数的问题

    ### 解决Unity不能调用shell脚本传递参数的问题 在Unity开发过程中,有时我们需要与操作系统进行交互,例如执行shell脚本来处理一些特定的任务。但在实际操作中,可能会遇到Unity无法正确调用shell脚本并传递参数的...

    shell中获取时间

    ### Linux Shell中获取时间的详尽指南 在Linux操作系统中,`date`命令是一个极其重要的工具,用于显示或设定系统日期与时间。本文将深入探讨如何利用`date`命令在shell环境中获取各种形式的时间和日期,包括当前...

    shell获取命令行参数示例分享

    代码如下:#! /bin/bash ... 您可能感兴趣的文章:在Shell命令行处理JSON数据的方法shell学习教程获取命令行参数示例神奇的shell命令行输入与输出功能介绍Linux命令行和shell脚本编程宝典 Richard BlumP

    linux C程序中获取shell脚本输出(如获取system命令输出)

    ### Linux C程序中获取Shell脚本输出方法详解 在Linux环境下进行C语言编程时,我们经常需要执行系统命令并获取其输出结果。这种需求在多种场景下都非常常见,比如自动化脚本开发、系统监控工具编写等。本文将详细...

    linux中,用shell脚本检查磁盘使用率并清理文件

    根据挂载的目录路径去查找磁盘,并获取使用率参数。 目录路径可以列表的形式,配置多个。 2、如果磁盘的使用率超过设定的阈值,则会进入清理流程。 3、清理流程分两种情况清理:(1)如果要清理的文件被其他程序打开...

    利用shell获取缩略图的类

    1. 类定义:`Thumb`类可能会包含一个构造函数,接收图像文件路径作为参数,然后利用shell命令生成对应的缩略图。 2. 成员函数:可能有一个成员函数如`generateThumbnail()`,负责调用shell命令并处理生成缩略图的...

    shell脚本如何获取随机数random

    通过这些方法,开发者可以在shell脚本中灵活地获取随机数,以用于各种需要随机性的操作。例如,随机文件命名、随机生成测试数据、随机选择服务器负载均衡等场景。这些技巧的使用能够让shell脚本的编写更加丰富多彩,...

    C# 调用windows的shell32 获取icon

    本主题将深入探讨如何在C#中利用Windows的shell32库来获取图标,以及如何进行SYSTEMTIME到FILETIME的日期时间转换。 首先,shell32是一个包含许多与外壳接口相关的函数的动态链接库(DLL)。在C#中,我们可以通过P/...

    Shell 传递参数

    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别...

    shell编程.doc(变量 用户定义变量,环境变量,位置变量(shell 参数) )

    位置参数则是脚本运行时传递的命令行参数,如`$1`、`$2`等代表第一个、第二个参数,`$*`和`$@`则分别用于获取所有参数的不同方式。 在Shell脚本编程中,条件测试和循环控制是关键。条件测试允许我们根据不同的条件...

    详解shell中脚本参数传递的两种方式

    等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}….才能获取到参数,但是一般很少会超过10个参数的情况。 ...

    易语言取系统shell32源码,易语言取系统shell32.dll内图标

    在本例中,我们将探讨如何使用易语言来获取系统`shell32.dll`中的图标资源。 `shell32.dll`是Windows操作系统中的一个重要组件,它包含了众多与外壳接口相关的函数,包括文件关联、文件夹操作等。其中,图标资源是...

    Shell 函数参数

    在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数… 带参数的函数示例: #!/bin/bash funWithParam(){ echo The value of the first parameter is $1 ! echo The value of...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    1. **Shell变量**:包括环境变量、位置参数、特殊变量和用户自定义变量的声明与使用。 2. **命令替换和引用**:如何使用反引号、$()以及`echo`命令来获取命令的输出。 3. **流程控制**:讲解if、else、for、while...

    Visual Basic 6.0取得Shell的输出结果

    在VB6中,我们有时需要调用操作系统命令并获取这些命令的输出结果,这通常涉及到“Shell”功能。本文将详细介绍如何在VB6中通过全API方式来实现这一目标。 首先,要理解什么是“Shell”。在计算机术语中,Shell通常...

    linux shell 查询oracle数据库中的值 并返回

    如果你能够访问这些文件,你可以从中获取更多关于如何在Linux shell中查询Oracle数据库的实用技巧和建议。 总的来说,通过shell脚本和`sqlplus`工具,我们可以高效地在Linux环境下与Oracle数据库交互,进行数据查询...

    java调用shell向DataX传参,带where条件,特殊字符

    在Java程序中调用Shell命令并传入带有特殊字符的参数时,会遇到一些挑战,因为Shell和DataX对特殊字符的处理方式可能不同。 首先,让我们理解Java如何调用Shell命令。在Java中,我们可以使用Runtime或者...

    利用shell获取指定日期前N天的日期

    ### 利用Shell获取指定日期前N天的日期 #### 背景介绍 在进行数据分析或处理历史数据时,经常需要对特定日期前后的时间段进行操作。例如,在项目中对比2015年10月的数据时,由于过去一年的数据经过了多次调整和处理...

Global site tag (gtag.js) - Google Analytics