On Sat, Jan 26, 2013 at 1:27 PM, Linda Walsh <b...@tlinx.org> wrote: > I noted on the bash man page that it says it will start in posix > compliance mode when started as 'sh' (/bin/sh). > > What does that mean about bash extensions like arrays and > use of [[]]? > > Those are currently not-POSIX (but due to both Bash and Ksh having > them, some think that such features are part of POSIX now)... > > If you operate in POSIX compliance mode, what guarantee is there that > you can take a script developed with bash, in POSIX compliance mode, > and run it under another POSIX compliant shell? > > Is it such that Bash can run POSIX compliant scripts, BUT, cannot be > (easily) used to develop such, as there is no way to tell it to > only use POSIX? > > If someone runs in POSIX mode, should bash keep arbitrary bash-specific > extensions enabled? > > I am wondering about the rational, but also note that some people believe > they are running a POSIX compatible shell when they use /bin/sh, but would > get rudely surprised is another less feature-full shell were dropped in > as a replacement. >
I think every POSIX compatible shell has its own extensions so there's no guarantee that a script which works fine in shell A would still work in shell B even if both A and B are POSIX compatible unless the script writer only uses POSIX compatible features. Is there a pure POSIX shell without adding any extensions?