Linux Shell :getopts 学习笔记

代码示例

#!/bin/bash

# getopts 获取参数
# 一次只处理命令行上检测到的一个参数,处理完所有参数后会返回一个大于0的状态码,非常适合在循环中解析命令行所有参数
# 格式:getopts optstring variable
# optstring : 参数列表,如果选项需要跟一个选项值,则需要在选项后加一个冒号,如果没有选项值,则可以直接写选项名称,如果想要系统不提示错误信息,可以所有的选项前也就是optstring前加一个冒号
# variable : 会将当前参数保存在命令行中定义的variable变量中
# 字符“*”表示剩余的所有参数选项

while getopts :a:b:c opt
do
    case "$opt" in
    a) echo "found the a option, with the value is ${OPTARG}";;
    b) echo "found the b option, with the value is ${OPTARG}";;
    c) echo "found the c option";;
    *) echo "Unknown option $OPTARG";;
    esac
done

执行结果

[root@localhost shell_script]# ./16.sh -d -a hello -b world
Unknown option d
found the a option, with the value is hello
found the b option, with the value is world
[root@localhost shell_script]# ./16.sh -d -a hello -b world -d -r -g
Unknown option d
found the a option, with the value is hello
found the b option, with the value is world
Unknown option d
Unknown option r
Unknown option g

你可能感兴趣的:(Linux Shell :getopts 学习笔记)