[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Setting variable with getopts
From: |
Dennis Williamson |
Subject: |
Re: Setting variable with getopts |
Date: |
Mon, 9 Aug 2021 11:37:36 -0500 |
On Mon, Aug 9, 2021, 11:02 AM hancooper <hancooper@protonmail.com> wrote:
> ‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Monday, August 9, 2021 4:00 PM, hancooper <hancooper@protonmail.com>
> wrote:
>
>
> Add
> local OPTIND
> at the top of your function.
>
>
>
> It is peculiar to me that I do not need to define
> local OPTARG
> as well
>
>
For getopts an option either requires an argument or not. There is no
support for optional arguments although your code can handle the missing
argument error which is indicated by a colon as the option and OPTARG is
set to the option. You would need to set the first character of the
optstring to a colon so that error processing is silent.. If the option is
to have optional arguments you would process the case without an argument
specially.
status ()
{
local vrb=1
local shortopts=":Vuhp:"
while getopts $shortopts arg; do
case $arg in
# section omitted
("p")
p="$OPTARG"
printf '%s\n' "p, arg: $arg ; OPTARG: $OPTARG"
;;
(:)
case $OPTARG in
(j) echo "this option has an optional argument, handle no arg here"
;;
(*)
echo "Current argument value, OPTARG: -$OPTARG" >&2
echo "Must supply an argument to -$OPTARG" >&2
;;
esac
# section omitted
esac
done
shift "$OPTIND"
echo "p: $p"
}
- Setting variable with getopts, hancooper, 2021/08/09
- Setting variable with getopts, hancooper, 2021/08/09
- Re: Setting variable with getopts, Dennis Williamson, 2021/08/09
- Re: Setting variable with getopts, hancooper, 2021/08/09
- Setting variable with getopts, hancooper, 2021/08/09
- Re: Setting variable with getopts,
Dennis Williamson <=
- Re: Setting variable with getopts, Dennis Williamson, 2021/08/09
- Setting variable with getopts, hancooper, 2021/08/09
- Setting variable with getopts, hancooper, 2021/08/09
- Re: Setting variable with getopts, Dennis Williamson, 2021/08/09
- Setting variable with getopts, hancooper, 2021/08/09