关闭

bash脚本编程之选项

270人阅读 评论(0) 收藏 举报
分类:

bash脚本编程之选项

getopts: getopts 选项字符串 名称 [参数]
解析选项参数。
Getopts 被 shell 过程用于解析可定位的参数作为选项。
OPTSTRING 字符串包含待识别的选项字母;如果一个字母后面跟
着冒号,则该选项期待一个参数,而该参数应用空格与选项分开。

每次启动时,getopts 会将下一个选项放到 shell 变量 $name
中,如果 name 变量不存在则先将其初始化,而下一个待处
理的参数序号放入 shell 变量 OPTIND 中。OPTIND 变量在每
次 shell 或者 shell 脚本启动时都被初始化为1。当一个选项要
求有一个参数时,getopts 将参数放入 shell 变量 OPTARG
中。

getopts 有两种报告错误的方法。如果 OPTSTRING 变量的第
一个字符是冒号,getopts 使用沉默错误报告。在这种模式
下,不会打印错误消息。如果看到了一个无效的选项,
getopts 将找到的选项字符放至 OPTARG 变量中。如果一个必
须的选项没有找到,getopts 放一个 ':' 到 NAME 变量中并且设
置 OPTARG 变量为找到的选项字符。如果 getopts 不在沉默模
式中,并且遇到了一个无效的选项,getopts 放置一个 '?' 到 NAME 
变量中并且反设定 OPTARG变量。如果必须的选项没有找到,
一个'?'会被放入 NAME变量中,OPTARG 将被反设定,并且会
打印一个诊断信息。

如果 shell 变量 OPTERR 的值为0,getopts 禁用
错误信息的打印,即使 OPTSTRING 变量的第一个字符不是一
个冒号。OPTERR 的默认值为1.

Getopts 通常解析可定位的参数($0 - $9),不过如果提供了
更多的参数,它们反而会被解析。

getopts ":b:d:" SWICH
第一个冒号表示不显示错误信息
b和d表示接受的参数,并保存至SWICH中
b和d后面的冒号表示必须要接受一个参数
选项后的参数保存至getopts内置变量OPTARG中,一次仅一个(多个选项用循环读取)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3747次
    • 积分:236
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类