Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15370

Re: Wrong explanation of getopts

Path csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From Roland Illig <roland.illig@gmx.de>
Newsgroups gnu.bash.bug
Subject Re: Wrong explanation of getopts
Date Sun, 15 Sep 2019 23:17:02 +0200
Lines 49
Approved bug-bash@gnu.org
Message-ID <mailman.306.1568582232.2190.bug-bash@gnu.org> (permalink)
References <0bc4f0f2-863d-5c42-76d8-857f74a1d8fa@gmx.de> <CAOSMAutc4KFan0Rorc7TgQVneRovpe21m+yi8nqwk=CBR5cwWw@mail.gmail.com> <3f5b0add-0389-318d-519f-d8e1c2c78cdd@gmx.de>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding quoted-printable
X-Trace usenet.stanford.edu 1568582233 4307 209.51.188.17 (15 Sep 2019 21:17:13 GMT)
X-Complaints-To action@cs.stanford.edu
Cc bug-bash <bug-bash@gnu.org>
To Eduardo Bustamante <dualbus@gmail.com>
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568582223; bh=EKbjS+SxePjGtHm5195vhzhHkZBEp4jH5qwMAy8kqE8=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=YFfyN+VKoHkNovjvwBeN60oJgmzYikGiH8kFhfqOTMDKFhO1xG7x4MgNHpqTzOMsa uBuftcjlk4LsrPzC/q5zLFSq2Ozh7WA8OIOoSfSUo2Te51gWGhfYRrZh9S9WeMClgY uy8u63vtx/LJUXsple/lx6Br4nEHscLgBFVTsvjs=
X-UI-Sender-Class 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Openpgp preference=signencrypt
Autocrypt addr=roland.illig@gmx.de; prefer-encrypt=mutual; keydata= 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 gUCywTy00g==
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
In-Reply-To <CAOSMAutc4KFan0Rorc7TgQVneRovpe21m+yi8nqwk=CBR5cwWw@mail.gmail.com>
Content-Language de-DE
X-Provags-ID V03:K1:uvUa15IGub/pzQYMu+j2aWzVyZ7+02xCueeaLetcDyoto+/7apB eVCUGDuO0CxDVZbQhU8yqQOCiyqqqJKZ0ILI3Swr3Q31i0u8eO8ideCasQMyfeodvk4g+Li 2ENl0HMe1+FS3ergj6ouShah+/bZQB9epWUu/gPdzicCLBN6Py3KXKpZ+3wil/lkC/sZN3S 3GydUwbQm9cEFWnGxRqOA==
X-UI-Out-Filterresults notjunk:1;V03:K0:DIqArfI0uOM=:b96gpX5RDXUQ+ynHmPxdYa fEADWgLS3CBcRec9sGCwRcTpyVU53RhD3Oa4ZZdikVB7o3y0YJkVEw6QeND7i8cJdsC7EkfuX LGfmmgZ+RCarm2rS8NzrYNEwGDzuQLES4usf+Sl3p3shZrDsyk86HNux9GQHy+MZ5iSRSB9H1 r8IrRsMmIkJhPh1Bz9FvSJJq+bOdlbqhYiB8iIOYmIIe8MRbkmaJp6zF7Os1ynerUMJ/rwxuM 3J8hWuzs2qDPYF0pNomrGQ5EVzVZWGHSMZcmaL2zEJbZ1WSDwmXxCuYpkOycZ6BTEMWS6LsHp njJNTWkZUbHIoi4T1auM3UDq8SS0/tqpU1qws9tOkMCOWW4b8NzueY+Tnw/z6y8njZDHiDyhx eZ4Afn5WwDjkLFxWI1Zz5CnvxrKs9Y7ZQNHTpYyvwuz1Qe/nWEg7nRJQ0kFQG+uG6FjYI2Nip sKefwfx14SCyPqHb3fWvrvqsn6EkITf5fxWkugUl4caJaOQZ7oMVfgNbR44DvktCYatHdWvdo mpmXfBhf56tWZk8/P0foB/3VUmXdc1rDTWU81Esni5j4LzEwhbLc0AJ0T5Z6HFpW6D/e+A+iv detSHy05jQHYh6IclYU/arfCDwnvJaqLxQDjlorW/QzPxhsyHbuV0Ky85jEXGiWaXYXCt8w8F c7xZ+fNNskRolpEVYr6m8f2aM2gy41QAfVWRJnpT9nVN76i7gw6aPm3jDWpvmnFfuTTxaVKyu wmZGDWCzNe6HP9UQCUuTSbpH3oe5bWffOFNql58rt6Mjg5oB1efF+a0LOrf0zKUSEqaCI6QAQ YzcvQ3ywXgXft8g4bHjQvtrTERiOopXFnIZoMwUapAmGx4UU6Y2tpC9nML1WRUan2vZ7y4qPY 8K/uz6O0pcIloH9Zr2nJPFUUX8fLUuafA2uIZHpWbUeO9zA98h4Uerrwt/ZG9SKweeDmYahVv qM9Y75L4acvUniM1C6NDBcyavL+E15cruMNNroEyQETxHfASbqRv/vmPD3HQiE2F5SBNW3tch WduqUBdmSWzba2fH4xCusu83fBxAlK4hJLvzHaX7sEbJkbXAnnlra4mzy4NtY4ACAKYVYPY3k ryBsmJBOBr778nX4nrbxS9Km+wyaJ1Qhk9GEQ8Rw4K6Qpz+ua5+yshOK7GXbDSxDzECi0d/Tn 02qNCwQeIPcnTYAbVbQOJ9SnwZhZ0uaAPXOjTeiG6TsVxdaA714v6RTtAm8FJbFxBfdAZRhNd 1H5jSdsC43dMXx35GyAONb5Mj28hgAPFFcaGmFVqCR6f4it87gnqtrkZmAt8=
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From 212.227.15.19
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <https://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
X-Mailman-Original-Message-ID <3f5b0add-0389-318d-519f-d8e1c2c78cdd@gmx.de>
X-Mailman-Original-References <0bc4f0f2-863d-5c42-76d8-857f74a1d8fa@gmx.de> <CAOSMAutc4KFan0Rorc7TgQVneRovpe21m+yi8nqwk=CBR5cwWw@mail.gmail.com>
Xref csiph.com gnu.bash.bug:15370

Show key headers only | View raw


Am 15.09.2019 um 22:38 schrieb Eduardo Bustamante:
> On Sun, Sep 15, 2019 at 12:58 PM Roland Illig <roland.illig@gmx.de> wrote:
>>
>> The help text of getopts says:
>>
>>>   Getopts normally parses the positional parameters ($0 - $9), but if
>>>   more arguments are given, they are parsed instead.
> (...)
>> The "instead" in "they are parsed instead" is totally wrong. $1 to $9
>> are always parsed, no matter if there are more than 10 positional
>> parameters or not.
>
> It's not wrong.

Ok, maybe not strictly wrong, but still misleading. In my first try to
read the documentation, and I really did read with good intentions, I
thought the "more" would refer to the "more than $9", and with that
interpretation in mind, the "instead" is clearly wrong.

>> $ getopts
>> getopts: usage: getopts optstring name [arg]
>
> It's referring to the fact that you can explicitly pass a set of
> parameters to `getopts' (i.e. the `[arg]' part), instead of it using
> the script's positional parameters (i.e. $@).

$@ also doesn't include $0. What does $0 have to do with getopts?

In my opinion, the help should read like this:

getopts: getopts optstring name [args]
    Parse option arguments.

    ...

    If ARGS are given, they are parsed. Otherwise the usual positional
    parameters $@ are parsed instead.

The changes are that "arg" is renamed to "args", and it is referred to
unambiguously by saying ARGS in the main text. I also left out the word
"more" since it was the main source of my confusion.

In other parts of the help, repeated arguments are written as [ARG ...]
instead of [ARGS]. For consistency, the same pattern could be used here
as well. In that case, the text should be "If ARGs are given, ...".

Roland

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: Wrong explanation of getopts Roland Illig <roland.illig@gmx.de> - 2019-09-15 23:17 +0200

csiph-web