What is the Shell?
- A shell is any program that provides an interactive environment for users
- Whenever you login to a Unix system you are placed in a program called the shell. All of your work is done within the shell.
- The shell is your interface to the operating system. It acts as a command interpreter; it takes each command and passes it to the operating system. It then displays the results of this operation on your screen.
-
There are several shells in widespread use. The most common ones are described
below.
There is a family of shells available on linux/unix:
Shell Symbol Prompt Description bourne sh $ Original Unix shell written by Steve Bourne of Bell Labs. Available on all UNIX systems. Does not have the interactive facilites provided by modern shells such as the C shell and Korn shell. The Bourne shell does provide an easy to use language with which you can write shell scripts. korn ksh $ Written by David Korn of bell labs. It is now provided as the standard shell on Unix systems. Provides all the features of the C and TC shells together with a shell programming language similar to that of the original Bourne shell. c shell csh % Written at the University of California, Berkley. As it name indicates, it provides a C like language with which to write shell scripts. bourne again bash $ Public domain shell written by the Free Software Foundation under their GNU initiative. Ultimately it is intended to be a full implementation of the IEEE Posix Shell and Tools specification. Widely used within the academic commnity. Provides all the interactive features of the C shell (csh) and the Korn shell (ksh). Its programming language is compatible with the Bourne shell (sh). - Many more public domain shells are available like ash, zsh ...
Purpose of shells
- Command line interpreter - Reading commands from users and executing them
- Programming languages - Processing a collection of commands in a file
- Job control language -
- enables command sto be executed at a later time
- allows commands to be run in the background
- allows commands to be chained together
- enables command input/output to be redirected
0 comments:
Post a Comment