Tcsh
Aktuální verze | 6.24.13 (12. června 2024) |
---|---|
Operační systém | UN*X |
Vyvíjeno v | C |
Typ softwaru | unixový shell a svobodný software |
Licence | BSD licence |
Web | www |
Některá data mohou pocházet z datové položky. |
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.
Historie
[editovat | editovat zdroj]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
[editovat | editovat zdroj]- 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říkazwhich
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í
[editovat | editovat zdroj]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
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku tcsh na anglické Wikipedii.