Re: shell stuff

Thorsten Glaser <[email protected]>
Newsgroups gmane.comp.web.lynx.devel
Message-ID <[email protected]>
Thomas Dickey dixit:

>> source="`echo "$source" | sed -e 's%/$%%'`/"
>>
>> You m̲u̲s̲t̲ ̲n̲o̲t̲ use double quotes both outside and inside of an
>> old-style command substitution: some shells pair them as
>> "`echo " and " | sed -e 's%/$%%'`/" instead of nesting, and
>> POSIX actively allows that.
>
>...actually the only time I've recall running into this one
>was in a bug in bash - for scripts which ran properly with
>SunOS 4 and Solaris.  SunOS 4 is out of reach now :-)

If you consider it out of reach, you can use $(…) instead of
`…` (and ${foo%bar}). People are going to want to backport,
though…

>> Can you not use source=${source%/}/ ? (Depends on where you
>> want to run that script; I know BOW’s /bin/sh fails on that
>> hard.)
>
>what is "BOW"?

https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/

Its sh choked on “if false; then : ${foo#bar}; fi” with the
most weird error messages, so merely parsing what amount of
script to skip in a nōn-executed block.

mksh now runs on BOW, so people can just use that, but it
shows up from time to time. I’ve seen some other shell, I
don’t remember which one, do that other “"`""`"” parsing,
and for a bit it was touch-and-go on that one for which
variant I’d use in mksh, as *that* one *is* permitted by
POSIX.

bye,
//mirabilos
-- 
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.	-- Rob Pike in "Notes on Programming in C"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.