0

我有以下 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

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

4

2 回答 2

2

您对 getopt 的调用应如下所示...

while getopts “hf:p:u:” OPTION

...因为h不需要 args 而其他选项可以。

于 2013-09-02T02:43:37.233 回答
1

它应该是while getopts “hf:p:u:” OPTION

于 2013-09-02T02:34:26.540 回答