Getopts没有正确解析参数

时间:2013-09-02 02:18:38

标签: bash shell

我有以下shell脚本 -

while getopts “h:f:p:u” OPTION
do
     case $OPTION in
         h)
             usage
             exit 1
             ;;
         f)
            FILE=$OPTARG
             ;;
         u)
            US=$OPTARG
             ;;
         p)
             PASSWD=$OPTARG
             ;;
         ?)
             usage
             exit
             ;;
     esac
done

echo "$FILE"
echo "$PASSWD"
echo "$US"

我使用以下命令行参数 -

-u root -f mydb  -p h2

屏幕上没有输出。为什么呢?

2 个答案:

答案 0 :(得分:2)

你对getopt的调用应该是这样的......

while getopts “hf:p:u:” OPTION

...因为h没有args而其他选项没有。

答案 1 :(得分:1)

应为while getopts “hf:p:u:” OPTION