There are two types of Linux users in the world: adventurous and cautious.
One type of user is always instinctively trying any new choice that can poke its pain points. They have tried countless window managers, system distributions, and almost all of the desktop plugins that can be found.
Another type of user who finds what they like will continue to use it. They tend to prefer the default configuration of the system distribution used. The first skilled text editor will be the one they love the most.
As a Linux user who uses desktop and server editions for 15 years, I am undoubtedly a second class user than the first class. I'm more inclined to use out-of-the-box stuff, so that many times I can easily find the use cases I need through documentation and examples. If I decide to choose to use non-fee standards, this switching process will be based on careful research, and the premise is a strong recommendation from a good base friend.
But that doesn't mean I don't like to try new things and check for missing. So recently, after years of using the bash shell without thinking about it, I decided to try another four shell tools: Ksh, TCSH, zsh, and fish. These four shells can be easily installed through the default libraries of the Fedora system I use, and they may already be built into the system distribution you are using.
Here's a little introduction to each of them, and explain why it's a good fit for your next Linux command-line interpreter.
Bash
First, let's review the most familiar one. GNU Bash, aka Bourne Again Shell, is the default choice for many of the Linux distributions I've used over the years. It was originally released in 1989 and is easily grown into the most widely used shell in the Linux world, and is even common among some other Unix-like systems.
Bash is a well-acclaimed shell, and when you look through the Internet to find the documents you need to solve a variety of things, you can always find these documents by default you're using a bash shell. But Bash has some drawbacks, and if you write a bash script you'll find that we're always writing more lines than we really need. This is not to say that there is something that it cannot do, but that it is not always intuitive to read and write, at least not elegant enough.
As mentioned above, bash is likely to persist for at least some time in the future, based on its huge installation capacity, and given the variety of professional and non-professional system administrators who have adapted to its use and uniqueness.
Ksh
KornShell, maybe you're not familiar with the name, but you must know it's calling command Ksh. This alternative shell originated in Bell Labs in the 80 's and was written by David Korn. Although originally a proprietary software, later versions were released under the Eclipse Public License.
Ksh's supporters list a number of reasons for their superiority, including better looping syntax, clear pipeline exit codes, and simpler ways to handle repetitive commands and associative arrays. It is capable of simulating many of the behaviors of VI and Emacs, so if you are a heavy text editor patient, it is worth a try. Finally, I found that although it had different experiences with advanced scripting, it was similar to bash in terms of basic input.
tcsh
Tcsh is derived from csh (berkely Unix C shell) and can be traced back to the early days of the UNIX and computer era.
TCSH's biggest selling point lies in its scripting language, which looks very gracious to people familiar with C programming. TCSH scripting people like it, someone hates it. But it also has other technical features, including the ability to add parameters to the aliases, various default behaviors that might cater to your preferences, including Tab AutoComplete and the Work of tab completion for later inspection.
TCSH is issued with a BSD license.
zsh
Zsh is another shell that has a similar resemblance to bash and Ksh. Born in the early 90, ZSH supports a number of useful new technologies, including spell correction, theming, and named directory shortcuts, which share the same command history information and a variety of minor tweaks relative to the original bash in multiple terminals.
Although the GPL is partially licensed, Zsh's code and binaries can be distributed under a license similar to the MIT license, and you can view the details in the actual license.
Fish
I visited Fish's homepage before, and when I saw "okay, this is a command-line shell for the born," this slightly mocking introduction (fish completed in 2005), I realized I would fall in love with this interactive shell.
Fish's authors offer several reasons for switching over, a little humorous and a bit of a laugh, but that's really the case. These features include automatic suggestions ("Note that Netscape Navigator 4.0来", LCTT: NN4 is an important version.) ), supports "amazing" 256-color VGA tinting, but there are really useful features, including automatic completion of commands based on the man page on your machine, clear scripts and Web-based interface configuration.
Fish's license is primarily based on GPLv2, but some parts are under other licenses. You can view the repository for complete information.
If you are looking for a detailed outline of the exact difference between each choice, this site should help you.
What exactly is my position? Well, in the end I should still be back in Bash's arms, because for most of the time people using command-line interaction, the switching process has little benefit in writing advanced scripts, and I'm used to using bash.
But I'm glad I made the decision to open the door and try a new choice. I know there are many other things outside the door. Which shells have you tried, and which ones do you prefer? Please let us know in the comments.
Linux under five top-level Open source command shell