fish Shell is Really a Friendly Interactive Shell Which Be Used on GNU/Linux, OS X or UNIX Systems. fish is a user-friendly and Exotic Shell. Previously we have talked about UNIX Shell, Terminal and Terminal Emulators for providing the basic idea. On OS X, we usually use oh-my-zsh with iTerm2 and Homebrew as package manager. That oh-my-zsh can be replaced with fish Shell or at least can be tested for usability.
fish Shell : Basics
Exotic as the syntax are not from Bourne shell or C shell and certain features are enabled by default. Navigate to fishshell dot com on your browser to check the features of this Shell. It is possible to use fish on Windows with Cygwin. For general purpose, we are describing the basic usage of fish shell with OS X fish shell App, it is portable, no installation is needed. This will install fish on OS X (be careful, its not the portable one) :
1 | brew install fish && echo "/usr/local/bin/fish" | sudo tee -a /etc/shells |
For Debian 8.0, we will install in this way :
---
1 2 3 4 5 | wget http://download.opensuse.org/repositories/shells:fish:release:2/Debian_8.0/Release.key apt-key add - < Release.key echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/2/Debian_8.0/ /' >> /etc/apt/sources.list.d/fish.list apt-get update apt-get install fish |
If you change Debian_8.0
to Debian_7.0
for Deb 7.0.
fish Shell : OS X Basic Usage For Testing
If you have downloaded that App for OS X on Desktop and your username is abhishekghosh
, then if you run :
1 | exec '/Users/abhishekghosh/Desktop/fish.app/Contents/Resources/base/bin/fish' |
on iTerm2, instead of oh-my-zsh, you will be using fish shell portable version. It will give you the information to type help
as command and hit the return key. It will open the webpage on default browser instead of normal command line options. It is optimized for GUI. Now, if you type :
1 | brew install |
You’ll see that you are getting automatic suggestions or incremental search. If you run ls -al
command, you’ll feel that it is very fast. It is POSIX compliant shell, so normal usage like :
1 2 | set abhishek abhishek-ghosh echo $abhishek |
You’ll get abhishek-ghosh
as return. fish has good syntax highlighting with error checking feature. Other things are written in the official website. We provided the basic idea.