Csh

C shell
Typ Příkazový shell pro UNIX
Autor Bill Joy
Vývojář Bill Joy
Zapsáno v Xi
Operační systém BSD , UNIX , Linux , Mac OS X
První vydání 1978 ( 1978 )
Nejnovější verze 6.20.00 ( 24. listopadu 2016 [1] )
Licence BSD licence

C shell ( csh ) je unixový shell se zabudovaným skriptovacím jazykem vyvinutý v roce 1979 Billem Joyem , aktivním vývojářem BSD UNIX a tvůrcem editoru vi , v roce 1979 .

Na základě kódu příkazového interpretu šesté verze systému UNIX . Skriptovací jazyk není z hlediska výkonu horší než Bourne shell , ale liší se syntaxí. Zatímco Bourne zkopíroval všechny základní operátory z Algolu 68 , Bill Joy použil C jako layout , pravděpodobně na základě svých vlastních preferencí a preferencí ostatních uživatelů BSD UNIX.

Na počátku 90. let byl C shell kritizován za svou nejednoznačnost a lakonický interpret, který brání spuštění skriptu, ale neuvádí žádné podrobnosti o tom, co se vlastně stalo. Někdy skripty csh nefungovaly tak, jak uživatel očekával. Byly také situace, kdy interpret odmítl zdánlivě konzistentní řádky kódu.

C shell byl dodán s 4.1BSD a je stále hlavní součástí všech jeho potomků, včetně FreeBSD a OpenBSD .

Srovnání s Bourne shellem

Stav

Bourne shell

#!/bin/sh if [ $days -gt 365 ] then echo Toto je více než rok. fi

C shell

#!/bin/csh if ( $days > 365 ) then echo To je více než rok. endif

Smyčka s předběžnou podmínkou

Bourne shell

#!/bin/sh i = 2 j = 1 while [ $j -le 10 ] do echo '2 **' $j = $i i = ` expr $i '*' 2 ` j = ` expr $j + 1 ' hotovo

C shell

#!/bin/csh set i = 2 set j = 1 while ( $j < = 10 ) echo '2 **' $j = $i @ i * = 2 @j++ konec

Smyčka s počítadlem

Bourne shell

#!/bin/sh pro i v d* do case $i v d? ) echo $i je krátké ;; * ) echo $i je dlouhé ;; esac hotovo

C shell

#!/bin/csh foreach i ( d* ) switch ( $i ) case d?: echo $i je short breaksw default : echo $i je long endsw end

Poznámky

  1. Zoulas, Christos (24. listopadu 2016), tcsh-6.20.00 je nyní k dispozici! , < http://mx.gw.com/pipermail/tcsh/2016-November/005021.html > . Získáno 24. listopadu 2016. Archivováno 25. listopadu 2016 na Wayback Machine 

Viz také