Hasan's Blog

Five Reasons to Love FISH

A beautiful, well-built alternative to BASH, here is why you should try it.

clear drinking glass on brown wooden table

What is FISH?

FISH stands for Friendly Interactive Shell. It simplifies many of the common tasks that we perform using shells such as running commands, creating aliasis or environment-variables.

Reasons to Love FISH

1. Auto-completion

When you type a command into the terminal, FISH searches your history and predicts the command as you are typing!


FISH also looks at the current directory and predicts the valid file and directory names as you type them.


To accept the autosuggestion press . To accept the first suggested word, press Alt+→. If the autosuggestion is not what you want, just ignore it: it won’t execute unless you accept it.

2. Syntax Highlighting

FISH interprets the command line as it is typed and highlights potential errors such as non-existing commands. It also highlights parentheses or quotes


3. Easy configuration

FISH uses a web-based configuration. you type fish_config and it opens a configuration web page in your browser


FISH also has a package manager Oh-my-fish that helps you install plugins and themes.

4. Themes and Customization

Themes can change the look of FISH in many ways, from the syntax highlighting to the prompt style. there are many themes that you can pick from.



5. Ease of Use

In BASH, if you want to create an alias you need to open .bashrc and define your alias in it then you must source it. In FISH, you simply type alias openWithNaut "nautilus ." .

If you want to add a path to your $PATH, you can also do it directly from the command-line by using the built-in fish_add_path [paths...] or attaching a new path to the PATH variable.

Final thoughts

The above mentioned features are merely what I like the most, there are more features that I have used and found useful but in order to keep this short I did not add them. If you want to take a look at FISH then headout to their site where they have excellent tutorials to help you get started.

This project is maintained by hasan-aga