fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.
fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.
Simple. Just add #!/bin/bash to the start of your script and call it a day.
Or use #!/usr/bin/env bash if you’re goated with the sauce. This won’t work if you’re not goated with the sauce.
Those who are goated with the sauce know what’s up.
Whatever you do, do not link /bin/sh to /bin/fish.