• Linux-getopts


    getopts的使用
    语法格式:getopts [option[:]] [DESCPRITION] VARIABLE
    option:表示为某个脚本可以使用的选项
    ":":如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION)
    VARIABLE:表示将某个选项保存在变量VARIABLE中
     
    getopts是linux系统中的一个内置变量,一般用在循环中。每当执行循环是,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,否则不是合法选项。并将这些合法选项保存在VARIABLE这个变量中。
    getopts还包含两个内置变量,及OPTARG和OPTIND
    OPTARG就是将选项后面的参数(或者描述信息DESCPRITION)保存在这个变量当中。
    OPTIND:这个表示命令行的下一个选项或参数的索引(文件名不算选项或参数)
    #!/bin/bashwhile getopts ':b:d:' OPT &> /dev/null;do
            case $OPT in
            b)
                    echo "The options is b"
                    echo $OPTARG ;;
            d)
                    echo "The options is d"
                    echo $OPTARG ;;
            *)
                    echo "Wrong Options"
                    exit 7 ;;
            esac
    #       echo $OPT
    #       echo $OPTARG
    done
    echo $OPTIND
    shift $[$OPTIND-1]
    echo $1
     
    ###执行脚本时,显示的结果如下###
    [root@localhost scriptTEAM]# ./test -d 'nice' fixnale
    The options is d  
    nice
    3
    fixnale
    ###显示信息说明如下###
    当输入-d时,$OPT=d,$OPTARG='nice',因此就会显示d)...这一部分的信息。
    由于这里有一个选项(-d)和一个参数('nice'),$OPTIND指向命令行中下一个选项或参数的索引位置,因此这里即为3。
    shift $[$OPTIND-1]表示将文件名前面的选项和参数踢掉
  • 相关阅读:
    每日随笔
    每日随笔
    每日随笔
    JavaSE 类加载机制
    MySQL 索引
    JavaSE 线程的生命周期
    JVM堆内存(heap)详解
    Redis 学习笔记(三)哨兵模式配置高可用和集群
    sqlserver数据库连接数相关问题
    多项式多点求值
  • 原文地址:https://www.cnblogs.com/chengjian-physique/p/10816465.html
Copyright © 2020-2023  润新知