The shell is a command interpreter. More than just the
insulating layer between the operating system kernel and the user,
it's also a fairly powerful programming language. A shell program,
called a script, is an easy-to-use tool for
building applications by "gluing" together system
calls, tools, utilities, and compiled binaries. Virtually the
entire repertoire of UNIX commands, utilities, and tools is
available for invocation by a shell script. If that were
not enough, internal shell commands, such as testing and loop
constructs, give additional power and flexibility to scripts.
Shell scripts lend themselves exceptionally well to administrative
system tasks and other routine repetitive jobs not requiring the
bells and whistles of a full-blown tightly structured programming
language.