Command line interpreter

From Wikipedia, the free encyclopedia

Screenshot of the MS-DOS command line interpreter COMMAND.COM.
Screenshot of the MS-DOS command line interpreter COMMAND.COM.
RT-11 running on UKNC
RT-11 running on UKNC
Sample screenshot of the command line interpreter Bash.
Sample screenshot of the command line interpreter Bash.
Screenshot of Windows PowerShell, a .NET-based command line interpreter.
Screenshot of Windows PowerShell, a .NET-based command line interpreter.
The Windows Recovery Console has its own command line interpreter.
The Windows Recovery Console has its own command line interpreter.

A command line interpreter (also command line shell, command language interpreter) is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language.

Contents

[edit] Command interpreters as user interfaces

Command line interpreters allow users to issue various commands in a very efficient (and often terse) way. This requires the user to know the names of the commands and their parameters, and the syntax of the language that is interpreted. From the 1960s onwards, user interaction with computers was primarily by means of command line interfaces.

In the 1970s, researchers began to develop graphical user interfaces (GUIs) to provide an alternative user interface for computers, whereby commands were represented by pictorial operations, rather than as textual descriptions. Since they are easier to learn than command line interfaces, they have become the most common way of interacting with a computer. However, command line interpreters remain widely used in conjunction with GUIs. For some complex tasks, the latter are less effective because of the large number of menus and dialog boxes presented and because of the innate difficulty of representing the underlying task graphically.

[edit] Scripting

Most command line interpreters support scripting, to various extents. (They are, after all, interpreters of an interpreted programming language, albeit that in many cases the language is unique to the particular command line interpreter.) They will interpret scripts (variously termed shell scripts or batch files) written in the language that they interpret. Some command line interpreters also incorporate the interpreter engines of other languages, such as REXX, in addition to their own, allowing the executing of scripts, in those languages, directly within the command line interpreter itself.

Conversely, scripting programming languages, in particular those with an eval function (such as REXX, Perl, Python, or Jython), can be used to implement command line interpreters. For a few operating systems, most notably DOS, such a command interpreter provides a more flexible command line interface than the one supplied. In other cases, such a command interpreter can present a highly customised user interface employing the user interface and input/output facilities of the language.

[edit] Quotes

Although most users think of the shell as an interactive command interpreter, it is really a programming language in which each statement runs a command. Because it must satisfy both the interactive and programming aspects of command execution, it is a strange language, shaped as much by history as by design.

Brian Kernighan & Rob Pike [1]

[edit] Examples

[edit] See also

[edit] References

  1. ^ Brian W. Kernighan and Rob Pike, "The UNIX Programming Environment", Prentice-Hall (1984).

[edit] External links