[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Handling short and long options
From: |
angioberlinguer |
Subject: |
Handling short and long options |
Date: |
Mon, 06 Sep 2021 23:12:49 +0000 |
It is a way to handle short and long options manually. Pelhaps I can simplify
the "-s"
option. For the "-s" option, I wanted to accept wildcards (e.g. A*) which the
shell would
expand.
Noticed a small mistake in the last part, which should be
(*) fls+=( "$2" ) ; shift 1 ;;
esac
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, September 6, 2021 11:05 PM, Dennis Williamson
<dennistwilliamson@gmail.com> wrote:
> On Mon, Sep 6, 2021, 5:40 PM angioberlinguer via help-bash@gnu.org wrote:
>
> > I have made the following function to parse short and long options.
> > Perhaps I do not need to
> > call `set -- $*`.
> > The while loop could also be changed. I want to allow splitting on space
> > and equal sign
> > so I can call it with `-s val` and `--src=val`.
> > rando ()
> > {
> > local incl=() fls=()
> > IFSPREV="$IFS" # Save IFS (splits arguments on whitespace by default)
> > IFS=" =" # Split arguments on " " and "="
> > set -- $* # Set positional parameters to command line arguments
> > IFS="$IFSPREV" # Set original IFS
> > local iarg=0 narg="$#"
> > while (( narg > 0 )); do
> > opt="$1"
> > iarg=$(( iarg + 1 ))
> > case $opt in
> > ("--incl") incl+=("$2") ; shift 2 ;;
> > ("-s"|"--src"|"--source") src=$( "$2" ) ; shift 2 ;;
> > ("-d"|"--dst"|"--destin") dst="$2" ; shift 2 ;;
> > ("--") shift 1 ; break ;;
> > ("-") printf '%s\n' "Unknown option: $1" ; shift 1 ;;
> > () fls+=( "$2" ) ; shift 1 ;;esac
> > done
>
> WTH is going on?
- Handling short and long options, angioberlinguer, 2021/09/06
- Re: Handling short and long options, Dennis Williamson, 2021/09/06
- Handling short and long options,
angioberlinguer <=
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/06
- Handling short and long options, angioberlinguer, 2021/09/06
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/06
- Handling short and long options, angioberlinguer, 2021/09/06
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/06
- Handling short and long options, angioberlinguer, 2021/09/06
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/07
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/07
- Re: Handling short and long options, Alex fxmbsw7 Ratchev, 2021/09/07
Re: Handling short and long options, Lawrence Velázquez, 2021/09/06