The shell script is a simple computer program which is designed to get run by UNIX shell, that is a command prompt / line interpreter. The scripting languages are considered as various dialects of shell. The typical operations which are performed by shell scripts include manipulation of files, execution of programs, and text printing. The script does the setting up of the environment, running the programs, and does some necessary cleanup, logging.

This term is also commonly used more for the automated mode of running an operating system shell, in a very specific operating systems they are called other things such as batch files (like, OS/2, MSDos-Win95 stream) command procedures (VMS), and scripts used for shell (Windows NT stream and third-party derivatives) and a number of terms are associated with mainframe operating systems.

Shell’s different possible versions are such as ksh88, Korn Shell '93 and the Bourne shell , Unix systems invariably include also the C Shell (csh), Bourne Again Shell (bash), a remote shell (rsh), a secure shell and many others.

Most of the modern shells provide various features which are usually found only in more sophisticated / efficient general-purpose programming languages, like as of constructs for control flow, subroutine, variables, comments, arrays and many more.

With these type of powerful features available, it is very much possible to write a reasonably efficient/ and sophisticated applications such as shell scripts. But, they are very much limited by the fact that most shell languages have less /or no support for systems of data typing, complex math, classes, threading, and other basic full language features, and are also mostly, much slower than compiled code or an interpreted language code written with a speed as a performance goal.

Sed and Awk are the standard Unix tools, which provide extra capabilities for the shell programming. Perl is also available to get embedded in shell scripts like as other scripting languages like Tcl. Graphics toolkits is also available in both Perl and Tcl language packages.

Many of the powerful languages used for scripting have been introduced for tasks that are too big / complex to be comfortably handled with ordinary shell scripts, because of which to get the desirable advantages of the script, there is full-blown development, is going on, as such compiled programming language can be disadvantageous.

The base which differentiates the high level language from the scripting language is a big source of debate. But basically, the scripting language is the one which requires an interpreter for its proper work.