[转]linux getopts与shift学习笔记
来源:互联网 发布:本地yum配置 编辑:程序博客网 时间:2024/06/03 20:08
原文地址 http://www.stuhack.com/linux/shell/908.html
获取UNIX类型的选项:
unix有一个优点就是标准UNIX命令在执行时都具有相同的命令行格式:
如果在执行Shell程序也采用上述格式,Bourne Shell中提供了一条获取和处理命令行选项的语句,即getopts语句。该语句的格式为:
其中option_string中包含一个有效的单字符选项。若getopts命令在命令行中发现了连字符,那么它将用连字符后面的字符同option_string相比较。若有匹配,则把变量variable的值设为该选项。若无匹配,则variable设为?。当getopts发现连字符后面没有字符,会返回一个非零的状态值。Shell程序中可以利用getopts的返回值建立一个循环。
有时侯选项中还带一个值,getopts命令同样也支持这一功能。这时需要在option_string中选项字母后加一个冒号。当getopts命令发现冒号后,会从命令行该选项后读取该值。若该值存在,那么将被存在一个特殊的变量OPTARG中。如果该值不存在,getopts命令将在OPTARG中存放一个问号,并且在标准错误输出上显示一条消息。
细则1:
当optstring以”:“开头时,getopts会区分invalid option错误和miss option argument错误。
invalid option时,varname会被设成?,$OPTARG是出问题的option;
miss option argument时,varname会被设成:,$OPTARG是出问题的option。
如果optstring不以”:“开头,invalid option错误和miss option argument错误都会使
varname被设成?,$OPTARG是出问题的option。
细则2:
当optstring中的字母跟”:“时,表明该option可接参数,参数(argument)放在$OPTARG中;
如果缺参数,且optstring是以”:“开头,则varname的值会是:,$OPTARG是该option,
否则varname的值是?,$OPTARG是该option。(参照细则1)
- [转]linux getopts与shift学习笔记
- linux getopts 学习笔记
- linux getopts学习笔记
- linux getopts 学习笔记
- linux shell 编程笔记 getopts sed 正则表达式 shift
- linux中getopts与shift的冲突之处
- Linux getopts&shift命令浅析
- Linux getopts&shift命令浅析
- Linux shell getopts 笔记
- Linux shell getopts 笔记
- Linux shell getopts 笔记
- shell学习三十天----break,continue,shift,getopts
- shift和getopts
- shift和getopts
- shell脚本之shift和getopts
- linux getopts命令详解
- linux shell getopts
- Linux getopts 命令浅析
- ImageMagick高级用法
- 关二哥给出的解决读取网页乱码的一个方案--转自csdn
- linux内存管理
- epoll 模型-client
- C# 设置程序开机自动运行/设置&获取程序的安装路径
- [转]linux getopts与shift学习笔记
- Java synchronized同步机制
- DLL注入,卸载
- mount jffs2 image
- linux的启动过程
- 个人和企业都需要用项目管理来武装自己
- grep命令的-o和-P选项
- 总结一致性哈希(Consistent Hashing)
- 用于主题检测的临时日志(c2945428-c3e2-4693-8bff-93b76dd3a846 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)