`

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

 

 

分享到:
评论

相关推荐

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

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

    Shell 传递参数

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

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

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

    Shell 函数参数

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

    Linux shell传递参数实现原理及代码实例

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

    python执行shell获取硬件参数写入mysql的方法

    本文实例讲述了python执行shell获取硬件参数写入mysql的方法。分享给大家供大家参考。具体分析如下: 最近要获取服务器各种参数,包括cpu、内存、磁盘、型号等信息。试用了Hyperic HQ、Nagios和Snmp,它们功能都挺...

    Shell – 通过参数名传递参数值

    Linux常用的命令都可指定参数名和参数值,我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?下面的例子定义了短参数名和长参数名两种获取参数值的方式。其实是根据getopt提供的特性进行...

    Linux Shell脚本通过参数名传递参数值

    Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取。下面的例子定义了短参数名和长参数名两种获取参数值...

    Linux Shell 如何获取参数的方法

    $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID...

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

    java调用shell命令,在shell命令中调用DataX任务并传递参数。 坑主要在DataX传递参数涉及到特殊字符应该如何处理这块,有时间可以自己试; 没时间可以用我的经验,自己选择;

    Shell脚本通过参数名传递参数的实现代码

    Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取。下面的例子定义了短参数名和长参数名两种获取参数值...

    shell_config.rar_Linux shell_parsing shell_shell config_get_sh

    用shell脚本解析配置文件获取变量参数

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...

    Shell脚本学习笔记

    第1章 BashShell命令 6 1.1 Shell提示符 6 1.2 文件与目录Shell命令 7 1.2.1 更改目录命令(cd) 7 1.2.2 列表命令(ls) 7 1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 ...

    适用于stm32的shell代码和例程

    提供 shell_cmdparam()函数转换命令后所跟的数字参数(字符串转整型),详见 demo 提供 shell_option_suport() 函数,使命令行支持 getopt()函数,详见 demo 系统共有9个文件,全部与硬件无关,编译语言要在 C99 ...

    shell脚本返回值问题的解决

    shell脚本的返回值可以使用return参数,但是return只能返回整数类型的值。因此实现比较复杂的功能的话shell脚本可能不太友好。 比如下面这个例子: #!/bin/bash function in_path(){ cmd=$1 path=$2 oldIFS=$IFS

    Shell获取字符串长度的多种方法总结

    主要给大家总结分享了关于Shell获取字符串长度的多种方法,包括了利用${#str}、利用awk的length方法、利用awk的NF项、利用wc的-L参数、利用expr的length方法以及利用expr的$str : ".*"技巧来实现方法示例,需要的...

Global site tag (gtag.js) - Google Analytics