0

「Country」と「City」という名前のパラメーターがあります

スクリプトを実行する通常の方法は、 Script.ksh "India" "Mumbai"....それは正常に実行されます。

しかし、私の要件は...このスクリプトを Script.kshとして実行したい-Country "India" -City "Delhi"

誰でも私をこれから出してください

前もって感謝します...

4

1 に答える 1

1

使用例:

#!/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
于 2012-08-03T23:42:29.133 に答える