We are going to look at some of the available Linux shells out there that users have access to free of charge since they are open source, they come in a number of different licenses and this mainly depends on the software creator but in essence one doesn’t have to pay to use the system; so that a major plus in whichever way we look at it.
We find that there are different kinds of users when it comes to Linux, the ones who tread carefully preferring to stick to tried and tested software, the other kinds are the ones who dive into the deep end of cutting edge software; head first.
ksh, bash tcsh, fish and zsh are the five shells that we are going to be looking at today.
The BASH Shell
The original UNIX command line interpreter was called Bourne shell. This was covered by the AT&T software license and at the onset of the GNU project it allowed people to start writing their own versions of the software that had the same functionality as Bourne shell, and this is what gave rise to bash released in 1989.
BASH is the acronym for "Bourne-Again Shell", and of the software that were created to work the same as Bourne shell, this one became the most popular, in most Linux Distros (variants) it has become the de facto Linux shell bundled within.
It is a superb command line environment for GNU/Linux presently and if you have ever used the command line on most Linux distros then most likely you were using bash Linux shell. Alt+f2 key combination is a quick shortcut to access the command-line interface/interpreter.
We can safely state in layman's terms that Bash is an amalgamation of the many software that were created to work like Bourne shell these being ksh, tcsh/csh and zsh, Bash took most of the features from these applications that were different or non-existent on the original “sh” and integrated them into bash in one way or another.
Most times bash is all you will need unless if you have some set of scripts or helper functions that you have written for a different shell then bash should suffice for all your needs.
The KSH Shell (Korn Shell)
David Korn at the Bell Labs created an alternative shell in the 1980's aptly named Korn shell but it's referred to more by its command invocation “ksh” it started off as a proprietary software but later versions were released as open source under the Eclipse Public License.
A number of users prefer ksh and feel that it is better in a number of ways with some of its advantages being listed as having a cleaner exit codes, from pipes, a superior loop syntax, easier repetition of commands and associative arrays methodology, capability of emulating most of the behaviours of emacs or vi (this feature is especially good to those who are partial to text editors) among others.It is quite similar to bash for basic input, but it is somewhat different for advanced scripting and requires some getting used to.
The ZSH Shell
Zsh originated in the early 1990's and has some similar features to bash and ksh some of these include but are not limited to spelling correction, themes, nameable directory shortcuts, command history sharing across multiple terminals and other small changes to the original Bourne Shell functionality.
It can be distributed under the MIT-like license but some portions are under the GPL. For more details check the license distributed with the code and binaries.
The TCSH Shell
Spawning from csh which is the Berkeley Unix C shell, Tcsh is one of the granddaddies of shell with an impressive history that goes back to the earlier days of Unix and computing itself.
It's strongest niche is its scripting language, which is akin to C programming syntax. It has a number of features that include adding arguments to aliases, default preferences setting eg auto-completion with history tab of the completion work that is set by defaults but customisable. It has a large following. It is released under the BSD license.
The Fish Shell
FISH Linux shell was written in 2005, and as such we expect numerous changes attuned to more recent requirements and as their website states “Finally, a command line shell for the 90s”, we found fish to be quite user-friendly and a breath of fresh air.
The support is quite good and the authors have quite a friendly introduction to usage of the product on their website. It has some really neat features which include clean scripting, auto-suggestions, support for 256 color palette VGA, command completion based on the man pages on your machine which quite frankly is a very helpful feature and last but not least the awesome web-based configuration. This in my humble opinion is the best of all.
And that's it. These are the five Linux shells that are popular and it's cool to dive into it. The chances are that you're most likely using Bash Linux shell but if you're using any other then let us know in the comment section below. Thank you!