The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Clem Cole <clemc@ccc.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: A few comments on porting the Bourne shell
Date: Mon, 2 Jan 2023 12:50:47 -0700	[thread overview]
Message-ID: <CANCZdfocywPU4NDGr1YwXG_zbHGvYZwa4AaExXovCccAaEKzsA@mail.gmail.com> (raw)
In-Reply-To: <CAC20D2NcJAHYdGMBzfCgwCBeTZa=d7TBMWo-ZVN+hLXnh9usaQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1576 bytes --]

On Mon, Jan 2, 2023, 11:18 AM Clem Cole <clemc@ccc.com> wrote:

>
>
> On Mon, Jan 2, 2023 at 1:13 PM Larry McVoy <lm@mcvoy.com> wrote:
>
>>
>> My scripts worked with /bin/sh being whatever it was.
>>
>> It's interesting to me that other old timers, like Clem, are saying
>> exactly the same thing as I am.  Are we all wrong?
>>
> Exactly -- if you are disciplined -- it just works.  It's not magic.
>

I've only got 30 years experience in writing portable shell scripts... But
I have a slightly different take. There is an element of luck involved.
There are a number of constructs that are valid in v7 shell that aren't
completely portable due to bugs in vendor shells. The luck part comes in
either you know what to avoid because you got unlucky and got burned in the
past. Or you got lucky and never thought to write something like that so it
just works. With experience, you know what works...

I notice the old timers hedged a little bit by saying things like
"virtually all" so maybe they had a bit of bad luck now and again...

Also, the really aweful systems are rare enough today that most folks on
this list have had the good luck not to need to run on them... :)

You can get super close though, but I'll bet there's some scripts that work
only because they didn't run on, say, Eunice...

But luck favors the prepared... and making the effort to try to be portable
will help when you have to run on dash, or one of the BSD shells that might
not have $<(cmd) or some other useful but not universal feature...

Warner

> ᐧ
>

[-- Attachment #2: Type: text/html, Size: 3087 bytes --]

  reply	other threads:[~2023-01-02 19:52 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-30 18:25 [TUHS] " Paul Ruizendaal
2022-12-30 19:51 ` [TUHS] " Chet Ramey
2022-12-30 20:02   ` Larry McVoy
2022-12-30 20:31     ` Adam Thornton
2022-12-30 20:49       ` Chet Ramey
2022-12-30 20:42     ` Sven Mascheck
2022-12-30 20:48       ` Jon Steinhart
2022-12-30 20:51         ` Sven Mascheck
2022-12-31 11:40         ` Ralph Corderoy
2022-12-31 18:49           ` Jon Steinhart
2022-12-31 19:24             ` Clem Cole
2023-01-03 16:32               ` Chet Ramey
2023-01-01  1:51             ` Ron Natalie
2023-01-02 20:03       ` [TUHS] Command Line Editing in the Terminal Driver (Was: A few comments on porting the Bourne shell) Joseph Holsten
2023-01-02 20:33         ` [TUHS] Re: Command Line Editing in the Terminal Driver Lars Brinkhoff
2023-01-11  2:51           ` Chris Hanson
2023-01-11  3:53             ` Greg 'groggy' Lehey
2023-01-02 21:08         ` [TUHS] Re: Command Line Editing in the Terminal Driver (Was: A few comments on porting the Bourne shell) Rob Pike
2023-01-03 16:53         ` Marshall Conover
2023-01-04  9:18           ` Joseph Holsten
2023-01-11  2:56           ` Chris Hanson
2022-12-30 20:47     ` [TUHS] Re: A few comments on porting the Bourne shell Chet Ramey
2022-12-31  0:08     ` Luther Johnson
2022-12-31  3:59       ` Larry McVoy
2022-12-31  4:12         ` Steve Nickolas
2022-12-31  4:18         ` Bakul Shah
2022-12-31  4:40           ` Larry McVoy
2022-12-31  4:19         ` Marc Donner
2022-12-31  4:23         ` Dave Horsfall
2022-12-31  4:37           ` Clem Cole
2023-01-02  5:10           ` Mary Ann Horton
2023-01-02 16:25             ` Clem Cole
2023-01-02 16:51               ` Larry McVoy
2023-01-02 17:32                 ` Adam Thornton
2023-01-02 17:43                   ` Larry McVoy
2023-01-02 17:48                     ` Luther Johnson
2023-01-02 18:00                       ` G. Branden Robinson
2023-01-02 18:05                         ` Luther Johnson
2023-01-02 18:12                         ` Larry McVoy
2023-01-02 18:16                           ` Clem Cole
2023-01-02 19:50                             ` Warner Losh [this message]
2023-01-02 20:05                               ` Adam Thornton
2023-01-02 19:21                           ` G. Branden Robinson
2023-01-02 19:34                             ` Rich Salz
2023-01-02 20:12                               ` Larry McVoy
2023-01-02 20:24                               ` G. Branden Robinson
2023-01-02 20:41                                 ` Larry McVoy
2023-01-02 21:00                                   ` Dan Cross
2023-01-02 21:06                                     ` Clem Cole
2023-01-02 21:19                                       ` Dan Cross
2023-01-02 22:54                                         ` segaloco via TUHS
2023-01-02 23:58                                           ` Jon Steinhart
2023-01-04  9:00                                             ` Joseph Holsten
2023-01-02 22:43                                       ` Steve Nickolas
2023-01-02 21:08                                     ` Joseph Holsten
2023-01-02 21:15                                       ` Adam Thornton
2023-01-02 17:55                     ` Adam Thornton
2023-01-02 18:11                       ` Clem Cole
2023-01-02 18:36                         ` Dan Cross
2023-01-02 18:48                           ` Dan Cross
2023-01-02 18:18                       ` Larry McVoy
2023-01-04  3:20                     ` John Cowan
2023-01-04  3:31                       ` Dan Cross
2023-01-04  4:16                         ` Bakul Shah
2023-01-04 16:15                           ` Dan Cross
2023-01-04 18:28                             ` ron minnich
2023-01-04 19:33                             ` Chet Ramey
2023-01-04 15:21                       ` Ralph Corderoy
2023-01-04 15:54                         ` Ron Natalie
2023-01-02 17:55                 ` Clem Cole
2023-01-03 17:08                   ` Paul Winalski
2023-01-03 19:19                     ` Warner Losh
2023-01-03 19:56                       ` Luther Johnson
2023-01-03 20:21                       ` Dave Horsfall
2023-01-03 21:47                       ` Clem Cole
2023-01-03 21:51                         ` Clem Cole
2022-12-31  4:41         ` Greg 'groggy' Lehey
2022-12-30 20:20   ` Sven Mascheck
2022-12-30 20:49     ` Ron Natalie
2022-12-30 20:52       ` Rob Pike
2022-12-30 20:53       ` Jon Steinhart
2023-01-01 10:44   ` arnold
2023-01-01 11:28     ` arnold
2023-01-03 16:34       ` Chet Ramey
2023-01-03 15:06     ` Chet Ramey
2022-12-30 19:57 ` segaloco via TUHS
2022-12-31 12:55   ` Paul Ruizendaal
2023-01-01  2:55     ` Warner Losh
2023-01-01  4:38       ` Jonathan Gray
2023-01-01  5:25         ` Warner Losh
2023-01-01  5:35           ` Dan Cross
2023-01-01  5:52             ` G. Branden Robinson
2023-01-01  6:35               ` Warner Losh
2023-01-01  6:35               ` Rob Pike
2023-01-01  6:27             ` Warner Losh
2023-01-01 14:50             ` Ron Natalie
2023-01-01  7:11           ` Jonathan Gray
2023-01-01  7:21             ` Warner Losh
2023-01-01 10:25           ` Paul Ruizendaal
2022-12-31 13:26 Douglas McIlroy
2022-12-31 22:19 ` Rob Pike
2023-01-03 15:08 Douglas McIlroy
2023-01-03 15:57 ` Alejandro Colomar
2023-01-03 17:19   ` Jon Steinhart
2023-01-05 13:22     ` Tom Ivar Helbekkmo via TUHS
2023-01-05 21:11       ` Rob Pike
2023-01-03 17:26 ` Dan Cross
2023-01-03 18:07   ` Steve Nickolas
2023-01-03 20:19     ` Steffen Nurpmeso
2023-01-03 23:03       ` ron minnich
2023-01-04  1:37         ` Bakul Shah
2023-01-04  1:58           ` Adam Thornton
2023-01-04 15:19             ` Ralph Corderoy
2023-01-04 18:01               ` Bakul Shah
2023-01-04 20:46                 ` Alejandro Colomar
2023-01-05  0:06                   ` John Cowan
2023-01-05  0:41                     ` Adam Thornton
2023-01-04  5:05         ` Theodore Ts'o
2023-01-03 18:19   ` Niklas Karlsson
2023-01-04  1:29   ` Adam Thornton
2023-01-05  1:51     ` Alejandro Colomar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANCZdfocywPU4NDGr1YwXG_zbHGvYZwa4AaExXovCccAaEKzsA@mail.gmail.com \
    --to=imp@bsdimp.com \
    --cc=clemc@ccc.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).