Bash:如何检测“重复”标志,例如-vvv?

目前,我有一些 flag -x,以及其他一些:

while getopts abcx opt; do
  case $opt in
    a) a=true; ;;
    b) b=true; ;;
    c) c=true; ;;
    x) x=true; ;;
  esac
done

但是,我想让它添加一个x会增加标志的级别。我已经看到这个vfor verbose 额外的 v 增加了冗长。如何在我的 Bash 脚本中检测到这一点?

回答

我想这样做,以便添加一个x会增加标志的级别。

使用计数器:

unset a b c x
while getopts abcx opt; do
  case $opt in
    a) a=true; ;;
    b) b=true; ;;
    c) c=true; ;;
    x) ((x++)); ;;
  esac
done
echo "x=$x"

然后将其用作:

bash optscript.sh -abcxxx
x=3


以上是Bash:如何检测“重复”标志,例如-vvv?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>