#!/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脚本的输出 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脚本并传递参数的...
### Linux Shell中获取时间的详尽指南 在Linux操作系统中,`date`命令是一个极其重要的工具,用于显示或设定系统日期与时间。本文将深入探讨如何利用`date`命令在shell环境中获取各种形式的时间和日期,包括当前...
代码如下:#! /bin/bash ... 您可能感兴趣的文章:在Shell命令行处理JSON数据的方法shell学习教程获取命令行参数示例神奇的shell命令行输入与输出功能介绍Linux命令行和shell脚本编程宝典 Richard BlumP
### Linux C程序中获取Shell脚本输出方法详解 在Linux环境下进行C语言编程时,我们经常需要执行系统命令并获取其输出结果。这种需求在多种场景下都非常常见,比如自动化脚本开发、系统监控工具编写等。本文将详细...
1. 类定义:`Thumb`类可能会包含一个构造函数,接收图像文件路径作为参数,然后利用shell命令生成对应的缩略图。 2. 成员函数:可能有一个成员函数如`generateThumbnail()`,负责调用shell命令并处理生成缩略图的...
通过这些方法,开发者可以在shell脚本中灵活地获取随机数,以用于各种需要随机性的操作。例如,随机文件命名、随机生成测试数据、随机选择服务器负载均衡等场景。这些技巧的使用能够让shell脚本的编写更加丰富多彩,...
本主题将深入探讨如何在C#中利用Windows的shell32库来获取图标,以及如何进行SYSTEMTIME到FILETIME的日期时间转换。 首先,shell32是一个包含许多与外壳接口相关的函数的动态链接库(DLL)。在C#中,我们可以通过P/...
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别...
位置参数则是脚本运行时传递的命令行参数,如`$1`、`$2`等代表第一个、第二个参数,`$*`和`$@`则分别用于获取所有参数的不同方式。 在Shell脚本编程中,条件测试和循环控制是关键。条件测试允许我们根据不同的条件...
等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}….才能获取到参数,但是一般很少会超过10个参数的情况。 ...
在本例中,我们将探讨如何使用易语言来获取系统`shell32.dll`中的图标资源。 `shell32.dll`是Windows操作系统中的一个重要组件,它包含了众多与外壳接口相关的函数,包括文件关联、文件夹操作等。其中,图标资源是...
在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数… 带参数的函数示例: #!/bin/bash funWithParam(){ echo The value of the first parameter is $1 ! echo The value of...
在Java程序中调用Shell命令并传入带有特殊字符的参数时,会遇到一些挑战,因为Shell和DataX对特殊字符的处理方式可能不同。 首先,让我们理解Java如何调用Shell命令。在Java中,我们可以使用Runtime或者...
这篇教程将详细介绍如何在Python中运行shell命令并获取输出结果。主要涉及的Python内建模块是`os`和`subprocess`,以及第三方库`sh`。 1. **os.system()方法**:这是Python内建模块`os`提供的一个简单方法,可以...
1. **Shell变量**:包括环境变量、位置参数、特殊变量和用户自定义变量的声明与使用。 2. **命令替换和引用**:如何使用反引号、$()以及`echo`命令来获取命令的输出。 3. **流程控制**:讲解if、else、for、while...
在VB6中,我们有时需要调用操作系统命令并获取这些命令的输出结果,这通常涉及到“Shell”功能。本文将详细介绍如何在VB6中通过全API方式来实现这一目标。 首先,要理解什么是“Shell”。在计算机术语中,Shell通常...
如果你能够访问这些文件,你可以从中获取更多关于如何在Linux shell中查询Oracle数据库的实用技巧和建议。 总的来说,通过shell脚本和`sqlplus`工具,我们可以高效地在Linux环境下与Oracle数据库交互,进行数据查询...
### 利用Shell获取指定日期前N天的日期 #### 背景介绍 在进行数据分析或处理历史数据时,经常需要对特定日期前后的时间段进行操作。例如,在项目中对比2015年10月的数据时,由于过去一年的数据经过了多次调整和处理...