Who says the command line can’t be user friendly?
The command line is a great interface for lots of things, it enables a certain level of control, power and speed that sometimes can’t be achieved in graphical interfaces. But the command line can be very intimidating and I have to admit it has a steep learning curve. But does it really have to be so hard? BASH, the bourne again shell, is the default shell in most Linux distributions and many other many modern UNIX OSs. It’s even the default shell for Mac OS X. BASH is a great shell but suffers from a few ills like having to keep alive some of the awkwardness of ancient UNIX shells in order to remain compatible. Also in order get the most of it you have to customize it a lot (altought in some systems the default configuration is already pretty good and gives you the most out of BASH). Now enter fish, the friendly interactive shell.
The friendly interactive shell (fish) is a Unix shell which focuses on interactive use, discoverability, and user friendliness. The design goal of fish is to give the user a rich set of powerful features in a way that is easy to discover, remember, and use. –Wikipedia
Fish comes with many cool features not available in other shells, some of the coolest ones are: syntax highlighting, helpful error messages, tab completition support for command switches and many other things and more powerful globs. Also it removes many problems that have been kept in UNIX shells to keep backwards compatibility. If you are already familiar with bash or any other UNIX shell don’t worry you feel right at home but even happier
P.S. If you set fish as the default shell for your user you will must likely break your system! This is because fish is not compatible with bash so all of the scripts used by your system will NOT run. Only set fish as the default shell for your terminal emulator e.g. konsole, gnome-terminal.
A great open book about the command line
In: Linux, Technology · Tagged with: fish, friendly, Linux, shell, unix, user

on June 28, 2009 at 4:21 pm
· Permalink
The command line is a great interface for lots of things, it enables a certain level of control, power and speed that sometimes can’t be achieved in graphical interfaces.
Developers need to try harder. XP