Bash Shell中命令行选项/参数处理】的更多相关文章

原文网址:http://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html 0.引言 写程序的时候经常要处理命令行参数,本文描述在Bash下的命令行处理方式. 选项与参数: 如下一个命令行: ./test.sh -f config.conf -v --prefix=/home 我们称-f为选项,它需要一个参数,即config.conf, -v 也是一个选项,但它不需要参数. --prefix我们称之为一个长选项,即选项本身多于一个字符…
0.引言 写程序的时候经常要处理命令行参数,本文描述在Bash下的命令行处理方式. 选项与参数: 如下一个命令行: ./test.sh -f config.conf -v --prefix=/home 我们称-f为选项,它需要一个参数,即config.conf, -v 也是一个选项,但它不需要参数. --prefix我们称之为一个长选项,即选项本身多于一个字符,它也需要一个参数,用等号连接,当然等号不是必须的,/home可以直接写在--prefix后面,即--prefix/home,更多的限制后…
在Linux的Shell中怎样处理tail -n 10 access.log这样的命令行选项呢?这是被别人问起的一个问题,好好学习了一下,进行总结如下:在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景.1.直接处理,依次对$1,$2,...,$n进行解析,分别手工处理:2.getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项):3.getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/ho…
#include <unistd.h>       extern char *optarg;  //选项的参数指针       extern int optind,   //下一次调用getopt的时,从optind存储的位置处重新开始检查选项.        extern int opterr,  //当opterr=0时,getopt不向stderr输出错误信息.       extern int optopt;  //当命令行选项字符不包括在optstring中或者选项缺少必要的参数时,…
命令行选项解析函数(C语言):getopt()和getopt_long() 上午在看源码项目webbench时,刚开始就被一个似乎挺陌生函数getopt_long()给卡住了,说实话这函数没怎么见过,自然不知道这哥们是干什么的.于是乎百度了一番,原来是处理命令行选项参数的,的确,正规点的大型程序一般第一步就是处理命令行参数的,接着才是主干程序.在百度和man的帮助下,找到了具体使用方法和解释,二话不说赶紧学习一下,并总结出文档记录一下. 平时在写程序时常常需要对命令行参数进行处理,因为参数少,自…
1.定义: int getopt(int argc, char * const argv[], const char *optstring); 2.描述: getopt是用来解析命令行选项参数的,但是只能解析短选项: -d 100,不能解析长选项:--prefix 3.参数: argc:main()函数传递过来的参数的个数 argv:main()函数传递过来的参数的字符串指针数组 optstring:选项字符串,告知 getopt()可以处理哪个选项以及哪个选项需要参数 4.返回值 :(2)如果…
在写shell脚本时经常会用到命令行选项.参数处理方式,如: ./test.sh -f config.conf -v --prefix=/home -f 为短选项,它需要一个参数,即config.conf, -v也是一个选项,但它不需要参数–prefix 是一个长选项,即选项本身多于一个字符,它也需要一个参数,用等号连接,当然等号不是必须的,/home可以直接写在–prefix后面,即–prefix=/home 在shell中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景 手工…
argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:youngsterxyf argparse模块作为optparse的一个替代被添加到Python2.7.argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库. 与optparse相比较 argparse的API类似于optparse,甚至在…
http://hi.baidu.com/lolorosa/blog/item/5775a608bd670d33b0351da7.html $# 是传给脚本的参数个数 $@ 是传给脚本的所有参数的列表 $0 是脚本本身的名字 $1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数 在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:位置参数:详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版…
Make命令参数的典型序列如下所示: make [-f makefile文件名][选项][宏定义][目标] 这里用[]括起来的表示是可选的.命令行选项由破折号“–”指明,后面跟选项,如: make –e 如果需要多个选项,可以只使用一个破折号,如: make –kr 也可以每个选项使用一个破折号,如: make –k –r 甚至混合使用也行,如: make –e –kr Make命令本身的命令行选项较多,最为常用的三个是: –k: 如果使用该选项,即使make程序遇到错误也会继续向下运行:如果没…