▲ | chasil 2 days ago | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There is some subtlety that you are missing here. Outside of coreutils, let's consider bash and ksh88. The two have differing behavior in several areas (coprocesses, alias handling, final pipeline fork, etc.), but this divergence in behavior happened before POSIX.2 and the standardization of the POSIX shell, which is largely a subset of ksh88. The gist is that activating a mode for POSIX compliance will generally remove functionality, because the standardization happened a decade after development began, and the standards themselves were excessively conservative in adherence to System V. I've seen that useful GNU extensions are generally adopted by BSD, but much more slowly by POSIX. That does not serve UNIX well. Someone should challenge the Austin Group for effective control of UNIX standardization. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | jchw 2 days ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AFAIK, enabling POSIXLY_CORRECT doesn't get rid of any functionality. It changes some very subtle behaviors, such as the way certain argument parsing edge cases would be handled. Anyway, I think this is somewhat a non-issue: even if bash doesn't fully comply with POSIX standards by default, it should still be possible to be POSIX compliant by delivering a compliant shell in the right place. Though this does make me wonder if there's anything in POSIX that would require the user's default login shell to be POSIX-compliant, Bourne shell compatible. Probably not, right? After all, macOS had been using bash for ages with no issues complying. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|