Accidentally deleted fish while it was being set as my shell - what can I do?

Solution 1:

You can temporarily override your user shell setting in the Terminal application's preferences. Choose Terminal menu > Preferences, select the General tab, then set "Shells open with" to "Command (complete path)", and set the path to either /bin/zsh or /bin/bash (whichever you prefer).

Then use that shell to reinstall fish, and set "Shells open with" back to "Default login shell".

Alternately, if you want to more permanently switch to zsh or bash, open System Preferences > Users & Groups pane, click the padlock and authenticate, then Control-click on your user account (in the left sidebar) and choose Advanced Options from the contextual menu that appears. In the Advanced Options dialog, change the "Login shell" to /bin/zsh or /bin/bash or whatever you like. Do not change anything else here. You can mess your account up in fascinating ways by changing things in the Advanced Options if you don't know exactly what you're doing.