Tcsh

related topics
{system, computer, user}
{work, book, publish}
{ship, engine, design}
{math, number, function}

tcsh (pronounced /tiːˈsiːʃɛl/ tee-SEE-shel, /ˈtiːʃɛl/ TEE-shel, or as an acronym, /ˌtiː ˌsiː ˌɛs ˈeɪtʃ/ tee-see-es-aych) is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command line completion, command-line editing, and a few other features.

Contents

History

The 't' in tcsh comes from the T in TENEX, an operating system which inspired Ken Greer at Carnegie Mellon University, the author of tcsh, with its command-completion feature.[1] Ken Greer began working on his code to implement Tenex-style file name completion in September 1975, finally merging it into the C shell in December 1981.[2] Mike Ellis at Fairchild A.I. Labs added command completion in September 1983.[2] On October 3, 1983, Greer posted source to the net.sources newsgroup.[2]

Paul Placeway from The Ohio State University continued work on it in the 1980s, and since then it has been maintained by numerous people. Wilfredo Sanchez, the former lead engineer of Mac OS X, worked on tcsh in the early 1990s at MIT.

Significant features

  • Command history
    • The built-in history command displays the previously-entered commands
    • Use of / at the command line to allow the user to select a command from the history to edit/execute
    • Invoking previous commands using command history
      • !! executes the previous command
      • !n executes the nth command that was previously executed
      • !-n executes the command that was executed n commands ago
      • !string executes the most recently-executed command that starts with string
      • !?string executes the most recently-executed command that contains string
    • Using history in new commands
      • !* - refers to all of the arguments from the previous command
      • !$ - refers to the last argument from the previous command
      • !^ - refers to the first argument form the previous command
      • !:n - refers to the nth argument from the previous command
      • !:m-n - refers to the mth through nth arguments from the previous command
      • !:n-$ - refers to the nth through the last argument from the previous command
  • Command line editing
  • Auto-completion of file names and variables at the command line
  • Alias argument selectors; the ability to define an alias to take arguments supplied to it and apply them to the commands that it refers to. Tcsh is the only shell that provides this feature.
    • \!# - argument selector for all arguments, including the alias/command itself; arguments need not be supplied.
    • \!* - argument selector for all arguments, excluding the alias/command; arguments need not be supplied.
    • \!$ - argument selector for the last argument; argument need not be supplied, but if none is supplied, the alias name is considered to be the last argument.
    • \!^ - argument selector for first argument; argument MUST be supplied.
    • \!:n - argument selector for the nth argument; argument MUST be supplied; n=0 refers to the alias/command name.
    • \!:m-n - argument selector for the arguments from the mth to the nth; arguments MUST be supplied.
    • \!:n-$ - argument selector for the arguments from the nth to the last; at least argument n MUST be supplied.

Full article ▸

related documents
Lattice C
AberMUD
Elm (e-mail client)
Communications in the Marshall Islands
Progeny Linux Systems
Paul Vixie
COMSEC equipment
IBM EasyWriter
Communications in Malaysia
Communications in Anguilla
Archie search engine
LambdaMOO
Communications in Cuba
Z88DK
Principle of least astonishment
Adobe RoboHelp
100BaseVG
Communications in Slovakia
WikiWikiWeb
Communications in Malta
Personal Telco
QED (text editor)
Communications in Jersey
Jeff Rulifson
Communications in Venezuela
Slash (software)
Communications in the Republic of Ireland
Click-to-donate site
Communications in Azerbaijan
ITU-R