[TUHS] A few comments on porting the Bourne shell

Dan Cross crossd at gmail.com
Wed Jan 4 13:31:06 AEST 2023


On Tue, Jan 3, 2023 at 10:22 PM John Cowan <cowan at ccil.org> wrote:
> Making shell scripts portable means not using pipelines, because given "foo | bar", kshNN and zsh execute foo in a subshell and bar in the top-level shell, whereas in other shells, both foo and bar execute in subshells.  (For this reason, Posix allows either behavior.)  Not having pipelines is a pretty drastic limitation.

This came up at work just the other day:

echo ' hi ' | sed 's/^ *//;s/ *$//' | read bummer
echo $bummer

The behavior varies between ksh, zsh, bash, sh. Yay.

        - Dan C.


More information about the TUHS mailing list