getopt 是 shell 裡抓參數的好工具 例: getopt abc:d: 容許參數 -a -b -c -d, -c and -d 後面要接參數 #!/bin/sh set - `getopt abc:d: $*` while true; do case $1 in -a) echo option -a shift ;; -b) echo option -b shift ;; -c) echo option -c=$2 shift 2 ;; -d) echo option -d=$2 shift 2 ;; --) shift break ;; *) echo "error!" exit 1 ;; esac done 執行結果 # ./go -a option a # ./go -c jack option -c=jack # ./go -b -c jack option -b option -c=jack # ./go -b -c test -d getopt: option requires an argument -- d option -b option -c=test (使用後面要加參數的 option 會提示) # ./go -b -c test -f getopt: invalid option -- f option -b option -c=test (使用未支援的參數會提示)
http://pank.org/blog/2004/05/getopt-example.html
沒有留言:
張貼留言