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]表示將文件名前面的選項和參數踢掉

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM