The pitfalls documented here show that it's really, really hard to write portable shell programs. You might as well not try at all.<p>Also, I find it funny that they say<p>> ... to prevent trouble, do not take advantage of features that were added after Unix version 7, circa 1977.<p>And then they go on to call some systems ancient, not worth considering for portability.<p>> A few ancient 4.2BSD based systems ... required <some obscure behaviour>. However, these ancient systems are no longer of practical concern.<p>I feel sorry for the developers (including the Postgres community, which I count myself part of), have to deal with tooling (Autoconf, and family) that continues to prioritize supporting 45+ years (almost half a century!!) old systems. I am sure that the sysadmins of those old systems do not care about running the new software we're developing today; they have some reasons to keep those systems running, primarily monetary reasons.