zoukankan      html  css  js  c++  java
  • 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]表示将文件名前面的选项和参数踢掉
  • 相关阅读:
    WinForm里保存TreeView状态
    动态规划 回溯和较难题
    go 基本链表操作
    leetcode 42接雨水
    leetcode 旋转数组搜索
    leetcode 牛客编程 子序列 树 数组(积累)
    剑指offer(积累)
    go快排计算最小k个数和第k大的数
    leetcode 打家劫舍
    leetcode 字符串相关问题
  • 原文地址:https://www.cnblogs.com/chengjian-physique/p/10816465.html
Copyright © 2011-2022 走看看