My first thoughts on how to ensure POSIX shell compatibility and making sure no new bashisms are introduced in the future are: test on different POSIX shells using CI and use a mix of different POSIX shells, i.e. OpenBSD sh and Debian dash. I wonder what others think of this issue and how to approach a possible solution?
I’m also wondering if anyone knows of a complete and free POSIX shell implementation? I know OpenBSD sh and dash have differences for example and I’m not sure they’re 100% compliant.
I’m totally new to Go so I first wanted to consult my fellow Lobsters before discussing further in the Go thread.
EDIT: for clarity, I don’t know the person who started that thread on GitHub but it was created right before I was wondering this myself and I’m contemplating whether or not I would like to do this work as a newcomer to Go, whether it would be appreciated, and get a feel of what a possible solution would look like.