Compare Unix Kernel Shells

This short article talks and compare UNIX kernel shells, which many technical folks are confused of. The Unix operating system used a shell program called theBourne Shell. Then, slowly, many other shell kernel were developed for different flavors of UNIX operating system. The following is some brief information about different shells:

  • shBourne shell
  • cshC shell
  • kshKorn shell
  • tcshenhanced C shell
  • bashGNU Bourne Again shell (written by Brian Fox)
  • zshextension tobash,ksh, andtcsh
  • pdkshextension toksh

Compare Unix Kernel Shells

What we see here is that, generally, the syntax of all these shells is 95% similar.

Tasks done by the shell

KnowingCompare Unix Kernel Shells is important, but we also need to know what tasks are done by them.
Whenever we input any text in the shell terminal (or command prompt), it is the responsibility of the shell (/bin/bash) to execute the command properly. The activities done by the shell are as follows:
  • Reading text and parsing the entered command
  • Evaluating meta-characters, such as wildcards, special characters, or history characters
  • Process io-redirection, pipes, and background processing
  • Signal handling
  • Initialising programs for execution

Working in the shell :Compare Unix Kernel Shells

Let's get started by opening the Terminal, and we will familiarize ourselves with the bash shell environment:
  1. Open the Linux Terminal and type in:
    $ echo $SHELL
  1. The preceding output in the Terminal says that the current shell is/bin/bash, such as the Bash shell:
    $ bash -version
    GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2013 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later

    This is free software; you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
Bash Shell Version In Linux, filenames in lowercase and uppercase are different; for example, the filesHelloandhelloare two distinct files. This is unlike Windows, where case doesnot matter. As far as possible, avoid using spaces in filenames or directory names such as:
  • Wrong filenameHello World.txt
  • Correct filenameHello_World.txtorHelloWorld.txt
This will make certain utilities or commands fail or not work as expected, for example, themakeutility. While typing in filenames or directory names of the existing files or folders, use the tab completion feature of Linux. This will make working with Linux faster. If you are working with Bigdata or Hadoop 3.0 environment, knowledge of UNIX and Shell are very important. Bigdata related technology needs lot of knowledge on UNIX & its awareness is very helpful for developers.