如何向shell脚本中传递参数
1.getopts
#!/bin/bashALL=false
HELP=false
FILE=false
VERBOSE=false
while getopts #!/bin/bash
ALL=false
HELP=false
FILE=false
VERBOSE=false
while getopts ahfvc: OPTION
do
case $OPTION in
a)
ALL=true
echo "ALL IS $ALL"
;;
h)
HELP=true
echo "HELP is $HELP"
;;
f)
FILE=true
echo "FILE is $FILE"
;;
v)
VERBOSE=true
echo "VERBOSE is $VERBOSE"
;;
c)
echo "c value is $c"
;;
\?)
echo "`basename $0` -[ahfv] -[c value] file"
;;
esac
done
OPTION
do
case $OPTION in
a)
ALL=true
echo "ALL IS $ALL"
;;
h)
HELP=true
echo "HELP is $HELP"
;;
f)
FILE=true
echo "FILE is $FILE"
;;
v)
VERBOSE=true
echo "VERBOSE is $VERBOSE"
;;
c)
c=$OPTION
;;
\?)
echo "`basename $0` -[ahfv] -[c value] file"
;;
esac
done
注释:OPTION 的值依次为输入的参数如./getopts -a -c 则他的值分别为a。c然后每个值会和ahfvc匹配执行相应的步骤,其中#?为通配符
如果需要给c赋值则在ahvfc后面加: