我不擅长 Bash 脚本,并试图了解更多。让我用代码介绍我的问题:
#!/bin/bash
version_num=
isWindows=
MSVC_VER=
VERBOSE=
while getopts “hw:v:m:V” OPTION
do
case $OPTION in
h)
usage
exit 1
;;
w)
isWindows=$OPTARG
;;
v)
version_num=$OPTARG
;;
m)
MSVC_VER=$OPTARG
;;
V)
VERBOSE=1
;;
?)
usage
exit
;;
esac
done
对于空间,使用功能被删除。
我的问题是:
第一个问题:
目前,如果我使用这个脚本,我必须在每个选项之后提供参数值,例如:
`bash test_bash.sh -v 4.2.2.0 -m 10.0 -w 1`
但是,假设我只需要查看是否-w
存在,那么设置一些变量值。我不想提供-w 1
,因为1
它只是做某事的标志。我希望脚本像这样工作:
bash test_bash.sh -w -v 4.2.2.0 -m 10.0
我怎样才能做到这一点?我想做类似的事情rm -r -f
,它可以有多个选项,并且不需要每个选项后跟一些值。
第二个问题:
如果我删除
V)
VERBOSE=1
;;
并且:V
从该while
行开始VERBOSE=
,该脚本不再起作用。是因为:V
需要吗?
非常感谢您的时间和帮助!