For a long time, I’ve been naming my shell scripts with the .sh extension and assuming they’d run just fine in any shell. Most of the time, they worked perfectly—but every now and then, I’d hit unexpected issues, especially when running them with sh scriptName.sh.