A Unix shell is a shell or command-line interpreter that gives a traditional user interface for the Unix-likesystems and for Unix operating system. Users operates the operation of the computer by entering instructions as text for a command line interpreter to run or by creating text scripts of one or more such instructions.
The most influential Unix shells have been the C shell and the Bourne shell. The Bourne shell, sh, was prepared by Stephen Bourne at AT&T as the general Unix command line interpreter; it produced the basic features common to all the Unix shells, adding piping, here documents, variables, command substitution, control structures for condition-testing and filename wildcarding and looping. The language, adding the use of a declared keyword to use the end of a block, was added by ALGOL 68.