bash shell中getopts用法教程

发布时间:2020-12-24编辑:脚本学堂
有关shell脚本编程中getopts的用法,getopts 用于解析命令行参数,可以减少使用shift操作数量,需要的朋友参考下。

getopts 用于解析命令行参数。
用法: getopts 选项字符串 名称 [参数]

例子:
 

复制代码 代码示例:

#!/bin/bash
usage() {
cat << -EOF-
Usage:
$0 -I interface -i ipaddr

-EOF-
exit 1
}
while getopts “I:i:” opt ; do
case $opt in
I) interface=$OPTARG ;;
i) IP=$OPTARG ;;
?) usage ;;
done

if [[ -z "$interface" || -z "$ip" ]] ; then
usage
else
ifconfig $interface $ip
fi

其中:
1、选顶字符串中,后面跟”:”(冒号)表示后面要跟一个参数,这个参数应用空格与选项隔开;这个参数保存在OPTARG变量中。
2、选项字符串以”:”开始,将打开“沉默错误报错方式”,不能识别的选择等,将不打印错误信息。

3、getopts 将使用三个变量:name, OPTIND, OPTARG,OPTERR.
OPTERR :如果OPTERR=0, shell将禁用“错误提示输出”,即使选项字符串的开头不是冒号。
OPTARG : 当getopts解析到“选项”时,将指定的参数保存到这个变量中。
OPTIND : 存储$* 位置参数中的位置,随着getopts的处理而被getopts修改。