POSIX Is a Specification, Not a Shell: Why Portability Is More Complicated Than It Seems
By
gaigalas
Summary
This article argues that "POSIX shell" is a misnomer — POSIX is a specification, not a program. The author demonstrates through examples (like echo "C:\new") that different shell implementations (bash, dash, ksh, yash, ash) handle the same POSIX-specified code differently due to gaps, extensions, and historical quirks. The piece highlights the practical pitfalls of assuming portability across shells and encourages developers to understand the actual interpreter running their scripts rather than relying on the abstract POSIX label.
Source
Hacker NewsPOSIX Is a Specification, Not a Shell: Why Portability Is More Complicated Than It Seemsalganet.github.ioKey quotes
· 3 pulledWhen someone says 'write it in POSIX shell for portability,' they mean well.
POSIX is a specification. Not a program.
They each implement POSIX with their own gaps, extensions, and historical accidents.
You might also wanna read
Understanding Immutable Linux: Concepts, Implementations, and Trade-offs
An analysis of immutable Linux distributions, explaining what "immutable" means in the context of operating systems and how various popular
nlsh: Natural Language Terminal Interface for Shell Commands
nlsh is a terminal interface tool that allows users to interact with their command line using natural language instead of memorizing complex

Comments
Sign in to join the conversation.
No comments yet. Be the first.