List of command-line interpreters: Difference between revisions
No edit summary |
mNo edit summary |
||
Line 5: | Line 5: | ||
[[Image:bash screenshot.png|thumb|180px|right|Sample screenshot of the command-line interpreter [[Bash (Unix shell)|Bash]].]] |
[[Image:bash screenshot.png|thumb|180px|right|Sample screenshot of the command-line interpreter [[Bash (Unix shell)|Bash]].]] |
||
{{FixBunching|end}} |
{{FixBunching|end}} |
||
A '''command-line interpreter''' (also called |
A '''command-line interpreter''' (also called a '''command line [[Shell (computing)|shell]]''', '''command language interpreter''', or abbreviated as '''CLI''') 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]]. |
||
==Command-line interpreters as user interfaces== |
==Command-line interpreters as user interfaces== |
Revision as of 14:28, 8 August 2010
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
No issues specified. Please specify issues, or remove this template. |
Template:FixBunching A command-line interpreter (also called a command line shell, command language interpreter, or abbreviated as CLI) 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.
Command-line 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.
Early history
From the 1960s onwards, user interaction with computers was primarily by means of command-line interfaces, initially on machines like the ASR-33 Teletype, but then on early CRT-based computer terminals such as the VT52.
All of these devices were purely text based, with no ability to display graphic or pictures[1]. For business application programs, text-based menus were used, but for more general interaction the command line was the interface.
From the early 1970s the Unix operating system on minicomputers pioneered the concept of a powerful command-line environment, which Unix called the "shell", with the ability to "pipe" the output of one command in as input to another, and to save and re-run strings of commands as "shell scripts" which acted like custom commands.
Microcomputers
The command-line was also the main interface for the early home computers such as the Commodore PET, Apple II and BBC Micro - almost always in the form of a BASIC interpreter. When more powerful business orientated microcomputers arrived with CP/M and later MSDOS computers such as the IBM PC, the command-line began to borrow some of the syntax and features of the Unix shells such as globbing and piping of output.
Graphic User Interfaces
The command-line was first seriously challenged by the new GUI approach in 1984 with the Apple Macintosh 128K, but it took until 1990 and Windows 3.0 before most users converted.
Command lines today
While most computer users now use a GUI almost exclusively, more advanced users now have access to increasinlgy powerful command-line environments:
- MS Windows users have the classic cmd.exe "DOS"-like environment, but also the new PowerShell interfaces
- Apple and Linux users have the classic Unix bash shell
- Routers from Cisco and many others are commonly configured from the command-line
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, Ruby 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.
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.
Examples
- 4DOS - (DOS, Windows)
- 4NT - (Windows NT)
- 4OS/2 - (OS/2)
- Amiga CLI/Amiga Shell - (AmigaOS)
- Apple DOS/Apple ProDOS, had built-in BASIC interpreter, used on the Apple II, preceding the Macintosh
- CL - (OS/400)
- Basic-Plus - (RSTS/E)
- cmd.exe - (OS/2, Windows CE 3.0, Windows NT - Windows 7)
- CMS - (VM/CMS)
- COMMAND.COM - (DOS, Windows 95 - Windows Vista)
- Commodore DOS Wedge - (Commodore 64)
- DCL - (OpenVMS)
- EFI-SHELL - (Extensible Firmware Interface)
- GMLCMD - (Windows)
- iSeries QSHELL - (IBM OS/400)
- SymShell - (SymbOS)
- TSO - (MVS, z/OS)
- Atari TOS shell
- Unix shell programs such as sh, Bash, ksh, csh and others
- Tclsh and Wish, shells used with the Tcl language in its various implementations
- The above Unix shells implemented under other OSes including Windows NT/2000/Xp/2003 OS series and with diminished capabilities under the MS-Dos/Windows 95/98/Me series: MKS Toolkit (Bourne, Bash, Korn, C shells, rsh, tclsh and SSH), Microsoft Windows Services for Unix (C and Korn shells), AT&T U/Win (all or most shells), Cygwin, etc.
- Newer Unix shells under various OSes and environments such as the enhanced Korn variant zsh, the Perl-based psh shell etc.
- Windows PowerShell - (Windows XP - Windows 7)
- Windows Recovery Console - (Windows 2000, Windows XP and Windows Server 2003)
- YouShell - (YouOS)
See also
- Shell (computing)
- Comparison of computer shells
- Text terminal
- Command line argument
- Read-eval-print loop
- Batch processing
- Batch file
- Interpreter directive
- Shell script
- Scripting language
- Domain-specific programming language
- clig for tcl/c
References
External links
- Command Line Warriors website — focus on GNU/Linux
- The Command Line in Windows website — DOS and Windows