@@@ getopts命令
getopts命令內置於bash shell。
getopts命令的格式如右:getopts optstring variable
optstring定義的內容與getopt命令完全相同。
但是其輸出內容與getopt命令完全不同。
例子如下:
$ getopt ab:cd -a -b test1 -cd test2 test3 ###getopt輸出例
-a -b test1 -c -d -- test2 test3
$ getopts ab:cd -a -b test1 -cd test2 test3 ###getopts輸出例1
-bash: getopts: `-a': not a valid identifier
$ getopts ab:cd -a
-bash: getopts: `-a': not a valid identifier ###getopts輸出例2
$ getopts ab:cd a ###getopts輸出例3
###回車後為不輸出任何內容
為什麼會由以上結果,我也不清楚。希望有懂的朋友可以助我解惑。
@@@ getopts在shell指令碼中的用法
以下是乙個簡單的例子:
$ cat getopts.sh
#!/bin/bash
# ****** demonstration of the getopts command
#echo
while getopts ab:c opt ###通過whlie迴圈將選項通過getopts格式化成opt變數
docase "$opt" in
a) echo "found the -a option" ;;
b) echo "found the -b option, with value $optarg";; ###$optarg變數指的是選項後的引數
c) echo "found the -c option" ;;
*) echo "unknown option: $opt";;
esac
done
$
輸出結果:
$ ./getopts.sh -ab test1 -c
found the -a option
found the -b option, with value test1
found the -c option
$ ./getopts.sh -b "test1 test2" -a ###可以完美識別''雙引號
found the -b option, with value test1 test2
found the -a option
$$ ./getopts.sh -d #輸入未定義的選項後顯示的錯誤資訊
cat: invalid option -- 'd'
try 'cat --help' for more information.
$ ./getopts.sh -d #在ab:c之前加上:變成:ab:c以後getopts能
unknown option: ? #將所有未定義的選項統一輸出成問號
以上,是我今天的學習總結。 物件導向設計第二話
二 軟體開發過程 uml unified modeling language,統一的建模語言 在乙個ooad軟體開發過程,我們要完成二個不同的工作 1 ooa 分析階段我們主要 要做什麼?what to do?分析階段考察如何解決現實問題 建立乙個清晰的商業問題的檢視 概述系統必須執行的任務 建立商...
白話C 之第二話
1.if語句的用法及格式 當我們需要簡單的分支或判斷的時候,需要用到if語句,格式如下 if 條件 else 例如 int i 100 if i 101 if如果的意思 else else就是指否則的意思 2.switch語句的用法及格式 當我們在需要複雜的分支條件時,需要用到switch語句,但是...
白話C 之第二話
1.if語句的用法及格式 當我們需要簡單的分支或判斷的時候,需要用到if語句,格式如下 if 條件 else 例如 int i 100 if i 101 if如果的意思 else else就是指否則的意思 2.switch語句的用法及格式 當我們在需要複雜的分支條件時,需要用到switch語句,但是...