#!/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
分享到:
相关推荐
代码如下:#! /bin/bash ... 您可能感兴趣的文章:在Shell命令行处理JSON数据的方法shell学习教程获取命令行参数示例神奇的shell命令行输入与输出功能介绍Linux命令行和shell脚本编程宝典 Richard BlumP
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别...
等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}….才能获取到参数,但是一般很少会超过10个参数的情况。 ...
在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数… 带参数的函数示例: #!/bin/bash funWithParam(){ echo The value of the first parameter is $1 ! echo The value of...
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 以下实例我们向脚本传递两个参数,并分别输出,...
本文实例讲述了python执行shell获取硬件参数写入mysql的方法。分享给大家供大家参考。具体分析如下: 最近要获取服务器各种参数,包括cpu、内存、磁盘、型号等信息。试用了Hyperic HQ、Nagios和Snmp,它们功能都挺...
Linux常用的命令都可指定参数名和参数值,我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?下面的例子定义了短参数名和长参数名两种获取参数值的方式。其实是根据getopt提供的特性进行...
Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取。下面的例子定义了短参数名和长参数名两种获取参数值...
$1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID...
java调用shell命令,在shell命令中调用DataX任务并传递参数。 坑主要在DataX传递参数涉及到特殊字符应该如何处理这块,有时间可以自己试; 没时间可以用我的经验,自己选择;
Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取。下面的例子定义了短参数名和长参数名两种获取参数值...
用shell脚本解析配置文件获取变量参数
shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...
第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 ...
提供 shell_cmdparam()函数转换命令后所跟的数字参数(字符串转整型),详见 demo 提供 shell_option_suport() 函数,使命令行支持 getopt()函数,详见 demo 系统共有9个文件,全部与硬件无关,编译语言要在 C99 ...
shell脚本的返回值可以使用return参数,但是return只能返回整数类型的值。因此实现比较复杂的功能的话shell脚本可能不太友好。 比如下面这个例子: #!/bin/bash function in_path(){ cmd=$1 path=$2 oldIFS=$IFS
主要给大家总结分享了关于Shell获取字符串长度的多种方法,包括了利用${#str}、利用awk的length方法、利用awk的NF项、利用wc的-L参数、利用expr的length方法以及利用expr的$str : ".*"技巧来实现方法示例,需要的...