- Command line completion
Command line completion is a common feature of
command line interpreter s, in which the program automatically fills in partially typed tokens. Depending on the specific interpreter and its configuration, these elements may include commands, arguments,environment variable names and other entities. Command line completion generally only works in interactive mode. [That is, it cannot be invoked to complete partially typed commands in scripts orbatch file s, even if the completion is unambiguous.] Command line completion is often invoked, by default, by pressing thetab key and frequently called tab completion even when bound to a different key or key combination.History
Tab completion showed up early in computing history; one of the first examples appeared in the
Berkeley Timesharing System for theSDS 940 , where if a typed string were ambiguous, the interpreter would do nothing, but if the string was "not" ambiguous, it would automatically complete it without any command from the user. This feature did not work well with the all too frequent typos, and so was a mixed blessing. This feature was imitated by Tenex's developers who made an important change: Tenex used "escape recognition", in which the interpreter would not attempt to autocomplete unless the escape key was struck (thus the name) by the user. The domain was also expanded from only program names on the Berkeley system to both program names and files on Tenex. [ [http://www.opost.com/dlm/tenex/hbook.html Origins and Development of TOPS-20 ] ] From there it was borrowed by Unix.Completion in different command line interfaces
*
Unix shell s, includingbash (the default shell inLinux andMac OS X ) andksh among many others, have a long-standing tradition of advanced and customizable completion capabilities (see the external links section below for some examples).
** For Korn shell users, file name completion depends on the value of the EDITOR variable. If EDITOR is set to vi, you type part of name, and then click Escape followed by a backslash () character. If EDITOR is set toemacs , you type part of the name, and then click the Escape key twice to complete the file name.
*Windows PowerShell , the new extensible command shell from Microsoft, which is based onobject-oriented programming and theMicrosoft .NET framework provides powerful and customizable completion capabilities similar to those of traditional Unix shells. [ [http://thepowershellguy.com/blogs/posh/archive/2007/06/02/powertab-flash-exampes.aspx The PowerShell Guy : PowerTab Flash Examples Test ] ] [ [http://thepowershellguy.com/blogs/posh/pages/powertab.aspx The PowerShell Guy : PowerTab ] ] Fact|date=June 2008
*Thecmd.exe command processor ofWindows NT -based systems supports basic completion. It is possible to use a separate key-binding for matching directory names only.
*TheMS-DOS command processorCOMMAND.COM did not have command line completion: pressing the tab key would just advance the cursor. Before the release of Windows however various enhanced shells for MS-DOS, such as4DOS , or theFreeDOS version of command.com, would feature Unix-style tab completion.ee also
*
Autocomplete
*Shell
*Command line interface
*Comparison of computer shells References
External links
Unix shells
* [http://www.caliban.org/bash/ A Bash completion overview]
* [http://zsh.dotsrc.org/Doc/Release/zsh_19.html#SEC112 The zsh completion system]Windows command interpreters
"(Be sure to check the "Applies to" section in each article)"
*Windows Server 2003:
*# [http://technet2.microsoft.com/WindowsServer/en/Library/0a3f5948-84f2-4531-b74a-04dd94227c8d1033.mspx Directory name completion]
*# [http://technet2.microsoft.com/WindowsServer/en/Library/f0326a26-8ff7-421c-ba8a-4c9ca945e21f1033.mspx Filename completion]
* [http://support.microsoft.com/?kbid=310530 Windows XP]
* [http://support.microsoft.com/?kbid=244407 Windows 2000/NT 4]
Wikimedia Foundation. 2010.