zoukankan      html  css  js  c++  java
  • getopts 用法

    getopts是linux系统中的一个内置变量,一般用在循环中。
    每当执行循环是,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,否则不是合法选项。并将这些合法选项保存在VARIABLE这个变量中。

    getopts还包含两个内置变量,及OPTARG和OPTIND
    OPTARG就是将选项后面的参数(或者描述信息DESCPRITION)保存在这个变量当中。
    OPTIND:这个表示命令行的下一个选项或参数的索引(文件名不算选项或参数)
    

    在shell脚本中,对于简单的参数,我们使用$1 $2 来处理即可;

    示例 1

    #!/bin/bash
    SOFT_DIR=$1 MAVEN_DIR=$2 echo $SOFT_DIR echo $MAVEN_DIR ----------------- $ sh test.sh /home/soft /home/soft/maven /home/soft /home/soft/maven

    示例 2

            #!/bin/sh
            while getopts :ab: name
            do
                case $name in
                a)  
                    aflag=1
                ;;
                b)  
                    bflag=1
                    bval=$OPTARG
                ;;
                ?) 
                    echo "USAGE:`basename $0` [-a] [-b value]"
                    exit  1
                ;;
                esac
            done
            if [ ! -z $aflag ] ; then
                echo "option -a specified"
                echo "$aflag"
                echo "$OPTIND"
            fi
            if [ ! -z $bflag ] ; then
                echo  "option -b specified"
                echo  "$bflag"
                echo  "$bval"
                echo  "$OPTIND"
            fi
            echo "here  $OPTIND"
            shift $(($OPTIND -1))
            echo "$OPTIND"
            echo " `shift $(($OPTIND -1))`  "
  • 相关阅读:
    python基础-递归
    python基础-三元表达式/列表推导式/生成器表达式
    python基础-生成器
    python基础-迭代器
    python基础-函数
    python基础-文件操作
    Docker(六)安装Red5进行rtmp推流
    Docker(五)安装Fastdfs
    Docker(四)安装Redis
    Docker(三)安装Mysql
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8709916.html
Copyright © 2011-2022 走看看