美文网首页
shell脚本中getopts 使用

shell脚本中getopts 使用

作者: 只想做个俗人_贪财_好色 | 来源:发表于2022-12-13 22:38 被阅读0次
#! /bin/bash
#选项后面的冒号表示该选项需要参数
while getopts ":v:" arg; 
do
    case $arg in
         v )
            #参数存在$OPTARG中
            echo "arg:$OPTARG"
            ;;
         : )
           echo "缺少参数值"
           exit 1
           ;;
         [?] )  #当有不认识的选项的时候arg为?
            echo "请输入 -v (如:-v hello)"
            exit 1
            ;;
    esac
done

执行

./hello.sh   -v hello

输出

arg:hello

执行(包含“?” 需要转义)

./hello.sh   -\?   
 ./hello.sh   -a

输出

请输入 -v (如:-v hello)

执行(-v 没有参数值)

./hello.sh   -v

输出

缺少参数值

原因在 ":v:" 会在前面有":" 如果 改成"v:" 就不会有缺少参数值 都会走 “[?]”选项

相关文章

网友评论

      本文标题:shell脚本中getopts 使用

      本文链接:https://www.haomeiwen.com/subject/xbrkqdtx.html