Optionales Optionsargument mit getopts

while getopts "hd:R:" arg; do
  case $arg in
    h)
      echo "usgae" 
      ;;
    d)
      dir=$OPTARG
      ;;
    R)
      if [[ $OPTARG =~ ^[0-9]+$ ]];then
        level=$OPTARG
      else
        level=1
      fi
      ;;
    \?)
      echo "WRONG" >&2
      ;;
  esac
done

Niveau bezieht sich auf Parameter von-R, dir bezieht sich auf Parameter von-d

wenn ich eingebe./count.sh -R 1 -d test/ es funktioniert richtig

wenn ich eingebe./count.sh -d test/ -R 1 es funktioniert richtig

aber ich möchte, dass es funktioniert, wenn ich eingebe./count.sh -d test/ -R oder./count.sh -R -d test/

Das heißt, dass ich will-R hat einen Standardwert und die Befehlsfolge könnte flexibler sein.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage