「Country」と「City」という名前のパラメーターがあります
スクリプトを実行する通常の方法は、 Script.ksh "India" "Mumbai"....それは正常に実行されます。
しかし、私の要件は...このスクリプトを Script.kshとして実行したい-Country "India" -City "Delhi"
誰でも私をこれから出してください
前もって感謝します...
「Country」と「City」という名前のパラメーターがあります
スクリプトを実行する通常の方法は、 Script.ksh "India" "Mumbai"....それは正常に実行されます。
しかし、私の要件は...このスクリプトを Script.kshとして実行したい-Country "India" -City "Delhi"
誰でも私をこれから出してください
前もって感謝します...
使用例:
#!/bin/sh
setopt() {
if [ -n "$1" -a -n "$2" ]; then
optname=opt_${1#--}
optval="\"$2\""
eval $optname="$optval"
shift
shift
setopt "$@"
fi
}
eval setopt $(getopt -a -l city:,country: -o "" -- "$@")
echo "City is ${opt_city}"
echo "Country is ${opt_country}"
getoptなしでも同じ手法を使用できますが、getoptには、名前を正規化し、略語を認識するという追加の利点があります(少なくともGNU getoptはそうします)。
$ ./opttest -city "New Delhi" -country India
City is New Delhi
Country is India
$ ./opttest -ci "New Delhi" -co India
City is New Delhi
Country is India