Fish is a smart and user-friendly command line (like bash or zsh). This is how you can instal Fish on MacOS and make your default shell.
Note that you need the https://brew.sh/ package manager installed on your machine.
brew install fish
More info: https://fishshell.com/docs/current/tutorial.html#tut_path
Check the fish path with which fish
. In the examples below it was located at: /opt/homebrew/bin/fish
On older Macs default path is /usr/local/bin/fish
, replace accordingly in the instruction below.
- check the fish path with
which fish
. In the examples below it was located at:/opt/homebrew/bin/fish
. On older Macs the path might differ. - Add fish to the know shells
run the command:
sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
- Restart your terminal
- Set fish as the default shell
run the command:
chsh -s /opt/homebrew/bin/fish
- Restart your terminal and check if it launched with
fish
or not - Add brew binaries in fish path
run the command:
fish_add_path /opt/homebrew/bin
To collect command completions for all commands run:
fish_update_completions
I edited the ~/.config/fish/config.fish to have my terminal in english
set -x LANG en_US.UTF-8
You can configure your shell by launching the web interface, run:
fish_config
in case anyone wants the complete guide for Apple Silicon (M1+) Macs:
Installing fish
brew install fish
https://fishshell.com
Fallback
To fall back to another shell for something, just type
zsh
orbash
.It will temporarily change the shell until you restart your terminal.
You can also type
fish
again to go back to fish.Make
fish
the defaultwhich fish
. In the examples below it was located at:/opt/homebrew/bin/fish
On older Macs these paths might differ.
sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
chsh -s /opt/homebrew/bin/fish
fish
or notset -U fish_user_paths /opt/homebrew/bin/ $fish_user_paths