使用getopts的脚本不会为变量赋值

时间:2014-12-17 13:47:07

标签: linux bash variables parameters getopts

变量MAANDINT没有分配值。 请帮我找一个解决方案

#!/bin/bash

if [ $# -eq 0 ]
then
echo Je moet een maand ingeven!
exit 1
elif [ $# -eq 1 ]
then
JAAR=$(date +'%Y')
else
JAAR=$2
fi

while getopts ":jan:feb:maa:apr:mei:jun:jul:aug:sep:okt:nov:dec:" MAAND;
do
case $MAAND in
jan)
MAANDINT=1
;;
feb)
MAANDINT=2
;;
maa)
MAANDINT=3
;;
apr)
MAANDINT=4
;;
mei)
MAANDINT=5
;;
jun)
MAANDINT=6
;;
jul)
MAANDINT=7
;;
aug)
MAANDINT=8
;;
sep)
MAANDINT=9
;;
okt)
MAANDINT=10
;;
nov)
MAANDINT=11
;;
dec)
MAANDINT=12
;;
*)
echo Deze maand bestaat niet!
exit 1
;;
esac
done
echo $MAANDINT

1 个答案:

答案 0 :(得分:0)

getopts不支持长选项。 MAAND永远不会匹配任何这些值。在echo "$MAAND"案例中添加*。                      - Etan Reisner