Oh My Fish Shell!

17 May 2016Junaid Qadir3 min read523 Words
Oh My Fish Shell!

Fish shell made me fall in love with terminal more. Ever since I used a computer, I've always been a terminal guy. So, it's natural for me to love CLI applications and I must admit it's no easy feast when you first encounter the terminal but once you get used to it then there's definitely no going-back.

I use Ubuntu on daily basis as this is the only OS I have installed and I'm a huge fan of this Linux distribution without any doubt.

Ubuntu comes with the insanely popular bash shell. Therefore its natural for us to know how to use it. Bash has its reputation for being one of the best shells out there for decades but somehow I felt something missing but unfortunately I couldn't find a better alternative until recently one day Scott Hanselman blogged about it. This was the time when Microsoft and Canonical for the first time ever made it possible to run Ubuntu on top of window 10 natively. No doubt that was a huge step in computing.

So the shell Scott installed on Ubuntu on Wiondows10 is called Fish short for Friendly Interactive Shell. You can find the link to the post and fish in the links section. So after reading his post I went ahead and installed fish on my Ubuntu. After playing around with it I felt this what I wanted and instantly made it my default shell.

It has a bunch of really cool futuristic features like completion, on steroids. you type some letters and you instantly see completions be it you cd'd into a directory, touched a file, ran a script or whatever! you just type the first letter and it will write the whole line for you, how cool is that!

Its scripting syntax is quite different and is concise like when setting aliases you don't put the equal sign. If you want to run multiple commands commands in bash you just add two ampersands between them but in fish you have to terminate the previous command with a semicolon then type "and". It might sound a bit weired to the bash folks but you can get used to it.

bash:

1alias mycd="cd ~/somedir"

fish:

1alias mycd "cd ~/somedir"

 

Setting configurations in fish is a breeze!! you just type fish_config press enter and boom!! browser pops up and you can customize your fish shell from there!

Fish is gaining popularity day by day. if you want to take fish for a spin install it and see if it fits to your needs.

How Do I Install Fish Shell

macOS

brew install fish

Ubuntu

sudo apt-add-repository ppa:fish-shell/release-2 && sudo apt-get update && sudo apt-get install fish

Windows

Technically you cannot directly install Fish shell on Windows without using CygWIn, Msys or WSL.

On WSL  you can install it like so

sudo apt install fish

 

Do let me know about your experience with fish. Is it a swim or a drown! in the comments section.

Share this post
How do you feel about this article?