我有名为“国家”和“城市”的参数
运行脚本的常用方法是 Script.ksh "India" "Mumbai".. ..它会运行正常。
但是,我的要求是......我想将此脚本作为 Script.ksh -Country "India" -City "Delhi"运行
任何人请让我摆脱这个
提前致谢...
我有名为“国家”和“城市”的参数
运行脚本的常用方法是 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