fish is a smart and user-friendly command line shell for OS X, Linux, and the rest of the family.
Pro Already set up for you
While other shells require a lot of set up to act the way you want them to and to have some useful features, fish works perfectly out of the box. It has all the most widely used features baked in and are there out of the box without having the need to install plugins or tweak any configuration files.
Pro High portability
Because it needs very little configuration to work properly, you can use Fish everywhere. If you are working on a system you don't usually work, installing Fish from the repository is easy and will give you the same experience as the installation on your own machine without having to drag a dotfile around.
Con No support for sudo !!
Fish has no support for
sudo !!, but you can use Oh My Fish shell framework and install
bang-bang plugin to have this shortcut in Fish shell.
This can also be achieved by making this custom function:
function sudo if test "$argv" = !! eval command sudo $history else command sudo $argv end end