Bash Getopts未正确解析参数
我有以下shell脚本-Bash Getopts未正确解析参数,bash,shell,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)
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
屏幕上没有输出。为什么?应该是
而getopts“hf:p:u:”OPTION
应该是而getopts“hf:p:u:”OPTION
你对getopt的调用应该是这样的
while getopts “hf:p:u:” OPTION
。。。因为
h
不接受参数,而其他选项接受参数。您对getopt的调用应该如下所示
while getopts “hf:p:u:” OPTION
。。。因为
h
不接受参数,其他选项接受。@红蟋蟀是对的。如果需要选项的参数,请在选项标志后放置:(冒号)。编辑我的答案。@redcricket是对的。如果需要选项的参数,请在选项标志后放置:(冒号)。编辑我的答案。