Deutsch   English   Français   Italiano  
<vs70je$3gfnr$3@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.os.linux.misc
Subject: Re: Useless Use Of Regexes
Date: Fri, 28 Mar 2025 20:25:19 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <vs70je$3gfnr$3@dont-email.me>
References: <vrsfkv$1md7d$1@dont-email.me> <vrsjva$1oouq$1@dont-email.me>
	<vrso4m$1toah$3@dont-email.me> <sm0o6xpqxwf.fsf@lakka.kapsi.fi>
	<vru632$lb7$1@news1.tnib.de> <vrvigv$gce5$3@dont-email.me>
	<vs09u6$61ff$1@news1.tnib.de> <vs1lgs$2f333$2@dont-email.me>
	<vs1ou7$9qn3$1@news1.tnib.de> <vs23sj$2s4s3$1@dont-email.me>
	<vs2suo$cka4$1@news1.tnib.de> <vs2ugt$3nl2p$1@dont-email.me>
	<vs3s5l$f45n$1@news1.tnib.de> <vs4eja$14bph$1@dont-email.me>
	<vs60ng$2gkd0$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 28 Mar 2025 21:25:19 +0100 (CET)
Injection-Info: dont-email.me; posting-host="325182479a91973218e539df1507a627";
	logging-data="3686139"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+XFoOruUXkj724nwVsxSl+"
User-Agent: Pan/0.162 (Pokrosvk)
Cancel-Lock: sha1:TV9uPzkuEIdA14yfQVna0ktXrk0=
Bytes: 3484

On Fri, 28 Mar 2025 12:21:20 +0100, marrgol wrote:

> On 2025-03-27 at 22:05 Lawrence D'Oliveiro wrote:
>>
>> On Thu, 27 Mar 2025 16:51:16 +0100, Marc Haber wrote:
>>
>>> Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>>>
>>>> On Thu, 27 Mar 2025 07:58:32 +0100, Marc Haber wrote:
>>>>>
>>>>> You could have it easier with getopt ...
>>>>
>>>> Last I checked, getopt doesn’t do long options.
>>>
>>> You should check again.
>> 
>> ldo@theon:~> help getopt getopts: getopts optstring name [arg ...]
>> […]
> 
> You're quoting help to 'getopts' shell built-in command --
> you are mistaking it for 'getopt' program from util-linux.

I had a look at that, too. Here’s an extract from the example script
/usr/share/doc/util-linux/examples/getopt-example.bash demonstrating
the use of the getopt(1) command from util-linux:

----
TEMP=$(getopt -o 'ab:c::' --long 'a-long,b-long:,c-long::' -n 'example.bash' -- "$@")

if [ $? -ne 0 ]; then
    echo 'Terminating...' >&2
    exit 1
fi

# Note the quotes around "$TEMP": they are essential!
eval set -- "$TEMP"
unset TEMP

while true; do
    case "$1" in
        '-a'|'--a-long')
            echo 'Option a'
            shift
            continue
        ;;
        '-b'|'--b-long')
            echo "Option b, argument '$2'"
            shift 2
            continue
        ;;
        '-c'|'--c-long')
            # c has an optional argument. As we are in quoted mode,
            # an empty parameter will be generated if its optional
            # argument is not found.
            case "$2" in
                '')
                    echo 'Option c, no argument'
                ;;
                *)
                    echo "Option c, argument '$2'"
                ;;
            esac
            shift 2
            continue
        ;;
        '--')
            shift
            break
        ;;
        *)
            echo 'Internal error!' >&2
            exit 1
        ;;
    esac
done
----

Doesn’t seem to me that’s saving much effort. Does it look like a
saving of effort to you?