Fish shell first time release in 2005. this command shell concentrate to interactivity , and users friendly. Compared with the other shell command, fish shell very helpfull for people who start learning shell command. Ok let we see what fish shell give for us:
Nice Syntax

I am very happy if when writing shell script every variable, expression, and the other thing become colorful. It’s very helpfull for me to check if i missed some typo. Sometimes when i write shell script, i am facing a situation when i have to use quote (‘) and backquote (`) at the same time. It’s very annoying if i have to check between two similiar character. Fish shell help me to avoid this problem. This shell make a different color in different syntax. For example. first is syntax from bash :
for i in `ls -1 | grep "some string"`; do echo $i; done
in fish shell that script will become like this :
for i in (ls -1 | grep "some thing")
end
From that sampel, in bash i only find one color. And i will don’t know if i forgot typing one backquote. But in fish, they change backquote(`) into parenthesis “(“. Fish also make every my shell sintax become more colorful and I can simply find out if there something wrong with my script. One more advantage thing from fish is i can typing shell script become less error. This is something that i call structural typo or multi line editing. If we look at fish shell sample above. After i create expression for looping function, then i press enter button. Fish automatically indent my cursor. It’s make my script become more structural and more easy reading. Hm.. sound great isn’t it..?
Advanced tab completion

Let’s take one example. If i want to execute commmand like “whoami”, but i forget to spell it. in bash i just have to type who then press tab key. then bash will show some command that begin with the word “who”. Fish do this more than this. They show what command that begin with word who, and also explain every command that they show. It is very helpfull for me to find is that the command that i want or not.
Searchable command history
Sometimes when i execute some formulation in shell i rather forgot the syntax. History in shell will help me to find anything (even that some wrong formulation) that i had type. But if the formula that i have type is have been long since i type another command, i have to pres up, up , and up for many times, until i find the right formula. Fish help me to avoid this thing. With “searchable history”, i can find every formula or command that already i type. For example if i already type some command like this.
cat /etc/passwd | grep users | awk -F ':' '{print $6}'.
Then i want to write this formula again after i write many command after that. If i forget how i write this formula. And i only remember about /etc/passwd, i just have to type /etc/passwd and pres up button. fish will search for me every history that contain /etc/passwd, and every i press up button, fish only show command or furmula that contain /etc/password.
There another advantages using fish shell. You can find another explanation about fish in thier web site.