Huh, and here I thought that /bin/sh WAS an actual POSIX-compliant shell...but if it's just a symlink to whatever the hell you have for shell then what exactly is the point of all that nonsense?
not to mention the fact that POSIX standard is lowest common denominator across multiple systems, which seems to me like fundamentally flawed design - because rather than improving on the shortcomings, you instead limit the potential of more advanced implementations...
/bin/sh is a *real* shell with a *real* specification and multiple, compatibile *real* implementations. You should always try to write POSIX compliant scripts if you don't have good reasons to do otherwise. Also, how could /bin/sh be the user's default shell? You can have multiple users with different login shells on your system, you know?
@dalz @Derek Taylor 🐧 Yes but the #!/bin/sh tells the operating system to use /bin/sh to execute that code REGARDLESS of what the users login shell is.