TCSH je Unixový shell založený na kompatibilitě s příkazovým procesorem C shell (csh). Je to v podstatě C shell s programovatelným dokončováním příkazové řádky, editací příkazové řádky a několika dalšími funkcemi. __TOC__ Historie Písmeno T ve zkratce tcsh vzešlo z T ze slova TENEX, operačního systému, který inspiroval Kena Greera na univerzitě Carnegie Mellon svou funkcí automatického doplňování příkazů k vytvoření tcsh. Greer začal pracovat na svém kódu k implementaci doplňování jmen souborů ve stylu operačního systému TENEX v září 1975 a finální spojení s C shell provedl v prosinci 1981. Doplňování příkazů přidal v září 1983 Mike Ellis v A.I. laboratořích Fairchild. 3. října 1983 Greer publikoval zdrojový kód v diskuzní skupině net.sources. Paul Placeway z Ohijské státní univerzity pokračoval v práci na něm v osmdesátých letech, a od té doby je udržován početnou skupinou lidí. Wilfredo Sanchez, bývalý vedoucí inženýr Mac OS X, pracoval na tcsh na začátku devadesátých let na MIT Významné funkce Historie příkazů Vestavěná historie příkazů zobrazuje předešlé příkazy Použití šipek nahoru a dolů na příkazové řádce umožňuje uživateli vybrat příkaz z historie pro jeho editaci nebo opětovné vykonání Vyvolání předchozích příkazů pomocí příkazů historie !! provede poslední vykonaný příkaz !n provode n-tý vykonaný příkaz !-n provede příkaz který byl proveden před n příkazy !string provede poslední použitý příkaz který začíná řetězcem string !?string provede poslední použitý příkaz který obsahuje řetězec ''string' Použití historie při vytváření nových příkazů !* – odkazuje na všechny argumenty z předchozího příkazu !$ – odkazuje na poslední argument předchozího příkazu !^ – odkazuje na první argument předchozího příkazu !:n – odkazuje na n-tý argument předchozího příkazu !:m-n – odkazuje na M-tý až N-tý argument předchozího příkazu !:n-$ – Odkazuje na všechny argumenty od N-tého až po poslední z předchozího příkazu Editace příkazové řádky Automatické dokončování názvů souborů a proměnných v příkazové řádce Aliasy (možnost definovat alias příkazu pro automatický výběr argumentů a použít ho pro příkaz na který odkazuje. Viz příklad níže). Tcsh je jediný příkazový shell který tuto funkci podporuje. \!# – selektor pro všechny argumenty, včetně aliasu samotného; argument nemusí být dodán. \!* – selektor pro všechny argumenty, s výjimkou samotného aliasu; argument nemusí být dodán. \!$ – selektor pro poslední argument; argument nemusí být dodán, ale pokud není dodán, pak jméno aliasu je považováno za poslední argument \!^ – selektor pro první argument; argument musí být dodán. \!:n – selektor pro n-tý argument; argument musí být dodán; n=0 odkazuje na jméno aliasu/příkazu . \!:m-n – selektor pro m-tý až n-tý argument; argumenty musejí být dodány. \!:n-$ – selektor pro všechny argumenty od n-tého až po poslední; musí být dodán alespoň jeden argument. #Alias příkazu 'cd'. Pokud změníte složku, je automaticky vypsán její obsah. alias cd 'cd \!* && ls' Zástupné symboly if ("$input" =~ [0-9]*) then echo "input začíná číslem" else echo "input nezačíná číslem" endif Řízení úloh (job control) Vestavěný příkaz where. Pracuje jako příkaz which ale zobrazuje všechny umístění cílového příkazu ve složce specifikované v $PATH, nikoliv pouze ten který bude použit. Nasazení První verze systému Mac OS X byly dodávány s tcsh jako výchozím shellem, ale od verze 10.3 je pro nové účty výchozí bash (tcsh je stále poskytován a upgrade OS nemění shell žádného existujícího účtu). Tcsh je výchozí shell roota pro systém FreeBSD (výchozí uživatelský shell je založen na POSIX) a jeho potomky, jako jsou DragonFly BSD a DesktopBSD.

Reference

Kategorie:Příkazové interprety Kategorie:Software pro Unix Kategorie:Software pod licencí BSD Kategorie:Svobodný software v C