0
我正在使用getopts将选项传递给ksh脚本,但这些选项未被getopts识别。ksh getopts未知选项错误
下面是使用字符串我给getopts的
#OPTIONS
USAGE+="[w:week?print the whole week]"
USAGE+="[b:before?print the month up to and including the requested day]"
USAGE+="[a:after?print the month starting from the requested day to the end of the month or week]"
USAGE+="[d:day]#[day:=$(date "+%d"|sed 's/^0*//')?requested day]{[1-31]}"
USAGE+="[m:month]#[month:=$(date "+%m"|sed 's/^0*//')?month of requested day]{[1-12]}"
USAGE+="[y:year]#[year:=$(date "+%Y")?year of requested day.]"
的选项的一部分,这里是我的getopts的阻挡
while getopts "$USAGE" optchar
do
echo $optchar
case $optchar
in
w) boolWEEK=true;
;;
b) boolBEFORE=true;
;;
a) boolAFTER=true;
;;
d) day=$OPTARG
;;
m) month=$OPTARG
;;
y) year=$OPTARG
;;
esac
done
下面是一个选项,运行该脚本的输出
$ ksh now.ksh -a
now.ksh: -a: unknown option
?
Usage: now.ksh [-wba] [-d day] [-m month] [-y year]
$