Tcsh
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.
Obsah |
Historie [editovat]
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 Melon 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]
- 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!nprovode n-tý vykonaný příkaz!-nprovede příkaz který byl proveden před n příkazy!stringprovede poslední použitý příkaz který začíná řetězcem string!?stringprovede 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
- Job control
- Vestavěný příkaz
where. Pracuje jako příkazwhichale 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]
První verze systému Mac OS X dodávané s tcsh jako výchozím shellem, ale pro nové účty je defaultní bash od verze 10.3(tcsh je stále poskytován, a upgrade OS nemění shell žádného existujícího účtu). Tcsh je výchozí kořenový shell systému FreeBSD(výchozí uživatelský shell je založen na POSIX) a jeho potomků jako je DragonFly BSD a DesktopBSD.
V tomto článku byl použit překlad textu z článku tcsh na anglické Wikipedii.