shell之getopts
来源:互联网 发布:sql语句视频教程 编辑:程序博客网 时间:2024/04/27 22:51
细则1:
当optstring以”:“开头时,getopts会区分invalid option错误和miss option argument错误,内置变量$OPTARG就是出问题的option
invalid option时,变量name会被设成?;
miss option argument时,变量name会被设成:;
如果optstring不以”:“开头,invalid option错误和miss option argument错误都会使varname被设成?。
细则2:
当optstring中的字母跟”:“时,表明该option可接参数,参数(argument)放在$OPTARG中
如果缺参数,且optstring是以”:“开头,则varname的值会是:,$OPTARG是该option。
否则varname的值是?,$OPTARG是该option.(参照细则1)
当optstring以”:“开头时,getopts会区分invalid option错误和miss option argument错误,内置变量$OPTARG就是出问题的option
invalid option时,变量name会被设成?;
miss option argument时,变量name会被设成:;
如果optstring不以”:“开头,invalid option错误和miss option argument错误都会使varname被设成?。
细则2:
当optstring中的字母跟”:“时,表明该option可接参数,参数(argument)放在$OPTARG中
如果缺参数,且optstring是以”:“开头,则varname的值会是:,$OPTARG是该option。
否则varname的值是?,$OPTARG是该option.(参照细则1)
#!/bin/bashif [[ $# -lt 1 ]];then echo "USAGE:`basename $0` [-a] [-b value] [-c]" exit 1fi while getopts :ab:c namedo case $name in a) aflag=1 echo "a" ;; b) bflag=1 if [[ ${OPTARG:0:1} = "-" ]]; then echo "invalid parameter of $OPTARG" exit 1 fi bval=$OPTARG ;; c) cflag=1 echo "c" ;; \?) echo "Invalid option :`basename $0` [-a] [-b value] [-c]" exit 1 ;; :) echo "$0:Must supply an argument to -$OPTARG." exit 1 ;; esacdoneecho $bval
注意
1.如果你执行脚本时,后面什么参数都不带时,则不会进入到循环
while getopts :ab:c name所以还是需要通过以下代码来警告
if [[ $# -lt 1 ]];then echo "USAGE:`basename $0` [-a] [-b value] [-c]" exit 1fi
2.在getopts分析选项时,如果-b后面不带参数,直接跟-c的话,那么-c将作为-b的参数。
- shell之getopts
- shell getopts
- shell-----getopts
- shell--getopts
- Shell内建命令之getopts
- shell命令之——getopts
- shell脚本之shift和getopts
- Shell编程之getopts指定变量取值
- 【Bash百宝箱】shell内建命令之cd、getopts
- shell's getopts
- Linux shell getopts 笔记
- linux shell getopts
- shell 的getopts用法
- shell getopts 用法
- SHELL:getopts用法介绍
- shell编程getopts
- linux shell getopts
- shell getopts用法详解
- 3
- CAS-Client客户端研究(三)-AssertionThreadLocalFilter
- 2011-07-13 wince上面plg插件生成
- MySql 5.0 SELECT INTO的替代
- 作业08: 简单的数组运用
- shell之getopts
- Spring核心思想
- USING INDUCTION TO DESIGN 使用归纳法设计算法 [2/14]
- 应用程序基础知识:activity和intent——Android开发秘籍
- MMORPG 服务器 - 设计高性能 conside problem
- 分时段显示不同的提示的网页JS特效代码
- 作业09: 简单的链表运用问题。
- 使用Eclipse开发PHP乱码的问题
- oracle常用方法白话