Tcsh

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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 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 | 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
  • 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í[editovat | editovat zdroj]

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.