Member-only story
5 Fancy Shells You Should Give a Try
Fish, Oil, and other creative shells

I love the command line because it makes me more productive.
Most of the time, I live in a shell for my daily work. It is simply a command-line interface (CLI) that allows users to interact with the operating system.
Since I have worked with the command line for so long, I have tried various shells. I find these five, in particular, to be worthy of more recognition. Some of them are ready for daily use, while others are still in rapid development. Maybe you will find your next shell of choice.
Fish Shell
Fish stands for “the friendly interactive shell.”
It is a smart and user-friendly command-line shell for macOS and the Linux family of OSs. Many fancy features are included by default, such as syntax highlighting, auto-suggest as you type, and awesome tab completions.
The configuration file is located at ~/.config/fish/config.fish
. We can add custom functions to it. Fish also provides a web interface to configure the file. When running fish_config
, the browser will open port 8000 of the machine and the user can configure fish on the web page. Nice!

Fish is a shell with more than ten years of history. It’s mature and loved by many developers. I think its most impressive feature is auto-completion.
If you want to use it in your daily work, please don’t forget oh-my-fish.
Oil Shell
Oil Shell is a new Unix shell. Shell scripting is a domain-specific language for dealing with concurrent processes, text strings, and the file system. It is hard to learn and a nightmare for maintenance.
Oil is also aimed at people who know Python or JavaScript but purposely avoid shells.
Since we have so many existing shell programs, you cannot ignore them. Oil helps you gradually migrate away from shell scripting:
bin/osh
runs your existing shell scripts.bin/oil
is a brand new language.