我有名为“Country”和“City”的参数
运行脚本的常用方法是 Script.ksh“印度”“孟买”.. ..会运行正常。
但是,我的要求是......我想将此脚本作为 Script.ksh -Country“India”-City“Delhi”
Culd任何人请让我离开这个
提前致谢...
答案 0 :(得分: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