While learning UNIX Shell, i think a lot about what exactly Shell is. So, i decided to read more about it, to make it clear understanding. Many of us often confused like this.
In Unix, the shell is a program that read commands and acts as an intermediary between the user and the inner workings of the operating system. Providing a command-line interface (i.e., the shell prompt or command prompt), the shell is analogous to DOS and serves a purpose similar to graphical interfaces like Windows,Mac OS X.
Users uses commands to direct the operation of the computer or create text scripts with such one or more commands that executes one by one. Users interacts with Unix Shell using a terminal emulator.
4 important concepts in shells –
1 – User interact with the system using the shell
2- A sequence of operations can be scripted by placing the operations in script file.
3- Shell is a featured programming language with variables, conditional statement etc.
4- Shell allow to create UNIX program like other UNIX program with all privileges.
In UNIX systems, there are many shells available. For general users they looks same but each has different syntax and properties. 2 Major shells are –
Bourne Shell – Bourne shell means sh written by Stephen Bourne at AT&T as unix command line interpreter. It introduced with features like piping, command substitution, variable, control structure for component testing etc.
C Shell – C Shell means csh was written by Bill joy. It also introduced with a large number of features like history, editing, tlide, aliases, notation, cdpath, path hashing etc.
The Bourne shell was the first shell to appear on the UNIX OS so its refereed to as the shell. Bourne shell is usually installed as /bin/sh on most versions of UNIX. For this reason, it is the shell of choice for writing scripts to use on several different versions of UNIX.
Again, Bourne shell sub-categorize in following –
- Bourne shell ( sh)
- Korn shell ( ksh)
- Bourne Again shell ( bash)
- POSIX shell ( sh)
The different C-type shells follow:
- C shell ( csh)
- TENEX/TOPS C shell ( tcsh)
Unix / Shell Scripts basics – Hello World Program