I managed to kill all access to the shell by trying to install fish shell via brew and then set the default shell to fish via:
chsh -s /usr/local/bin/fish
Unfortunately fish doesn’t seem to exist (I didn’t read the install errors from brew properly) and now the Terminal just quits when loading.
How can I reset the shell to bash without using the shell?
foo, switch to root and then fix things. – terdon Sep 06 '15 at 12:14