易截截图软件、单文件、免安装、纯绿色、仅160KB

linux getopts命令详解

用途
处理命令行参数,并校验有效选项。
语法
getopts
选项字符串
名称
[
参数
...]
描述
getopts 命令是 Korn/POSIX shell 的内置命令,用来从参数列表检索选项以及选项参数。选项由一个 (加号)或者是由一个-(减号)后跟一个字符开始。一个既不是以 ,也不是以-开始的选项结束选项字符串。每次调用 getopts 命令时,它将下一个选项的值放置在名称 内,并将下一个要处理的参数的索引置于 shell 变量 OPTIND 中。一旦调用了 shell , OPTIND 将初始化为1。当选项以 开头,则 将预先设为名称中的值。
如果选项字符串中的字符后面带有“:”(冒号),则预期此选项将带有参数。当选项需要选项参数时,getopts 命令就将其置于变量 OPTARG 中。
当查找到 选项字符串所不包含的选项字符,或者查找到的选项没有所需的选项参数时:
如果选项字符串不以:(冒号)开头,
名称 将会被设置为 ?(问号)字符,
OPTARG. 将被取消设置,并且
诊断消息将被写入到标准错误中。
这种情况被认为是在将参数传递给所调用的应用程序的过程中所检测到的错误,而不是在处理 getopts 命令的过程中所发生的错误;如上所述,写入诊断消息,但退出状态将变为零。
如果选项字符串以 :(冒号)开头,
名称 将被设为 ? (问号)字符,这是对未知的选项来说的,或者为缺少的所需选项设为:(冒号)字符,
OPTARG 将被设置为已查找到的选项字符,并且
标准错误中将不写入任何输出。
以下任何字符都可以识别选项结尾:特殊选项- -,查找到不以-,或者 为开头的参数,或者遇到错误。
当遇到选项结尾时:
getopts 命令将退出运行,并且返回值大于零,
OPTARG 将被设置为第一个非选项参数索引,在这种情况下,如果第一个 - - 参数之前未出现其它非选项参数,将认为它是选项参数,或者如果没有非选项参数,设置为值 $# 1,
名称将被设置为? (问号)字符,
参数
选项字符串
包含 getopts 命令识别的选项字符串。如果字符后带有冒号,则预期选项将带有参数,应该以单独参数的形式提供此参数。可以用空格将选项与参数分隔开。如果选项字符是未知的或者选项参数丢失,则选项字符串中的第一个字符将决定 getopts 命令的行为。
注意:应用程序不应该将问号和冒号字符作为选项字符。使用其它非字母数字的字符会产生不明的结果。
名称
由 getopts 命令对查找到的选项字符设置。
参数 ...
一个或多个被空格分隔的字符串,由 getopts 命令校验是否


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

Linux多线程编程的基本的函数

  函数原型:                  
#include <pthread.h>
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)( ......

嵌入式Linux编译器gcc使用


At first, GCC is used for GNU C Compiler. At present,it supports JAVA Ada C++ and so on.
GCC编译流程分为:
1.Pre-Processing(预处理)
   gcc -E -o hello.i hello.c
   选项-E  使得编译器在预处理结束时停止编译
   选项-o   指定GCC的输 ......

第一次试着在Linux下写C程序

今天第一次试着在Linux下写C程序,把遇到的问题记录一下
1. 使用emacs命令编辑程序文件,我直接在Terminal里输入了emacs,写好程序,关闭,结果和windows里不一样,并没有任何SaveFileDialog之类的对话框弹出来,自己写的东西也不知道保存到哪里了,而且File菜单里也没有New这样的选项。后来才知道,原来是得在emacs命令后 ......

linux oracle 安装

linux下oracle安装:
Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍     
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。     
如果是为了在一台仅有256M内存的普通PC机上试用Oracle9 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号