Csh

C skal
Sorts UNIX kommandoskal
Författare Bill Joy
Utvecklaren Bill Joy
Skrivet i Xi
Operativ system BSD , UNIX , Linux , Mac OS X
Första upplagan 1978 ( 1978 )
senaste versionen 6.20.00 ( 24 november 2016 [1] )
Licens BSD-licens

C-skalet ( csh ) är ett UNIX-skal med ett inbäddat skriptspråk utvecklat 1979 av Bill Joy , aktiv BSD UNIX- utvecklare och skapare av vi- redigeraren , 1979 .

Baserat på kommandotolkkoden för den sjätte versionen av UNIX . Skriptspråket är inte sämre än Bourne-skalet vad gäller kraft, men skiljer sig i syntax. Medan Bourne kopierade alla grundläggande operatörer från Algol 68 , använde Bill Joy C som layout , förmodligen baserat på sina egna preferenser och andra BSD UNIX-användares.

I början av 1990 -talet kritiserades C-skalet för sin tvetydighet och dess lakoniska tolkare som stoppar manuset från att köras men inte ger några detaljer om vad som faktiskt hände. Ibland fungerade inte csh-skript som användaren förväntade sig. Det fanns också situationer då tolken förkastade till synes konsekventa kodrader.

C-skalet skickades med 4.1BSD och är fortfarande en central del av alla dess ättlingar, inklusive FreeBSD och OpenBSD .

Jämförelse med Bourne shell

Skick

Bourne skal

#!/bin/sh om [ $days -gt 365 ] then echo Detta är över ett år. fi

C skal

#!/bin/csh if ( $days > 365 ) then echo Detta är över ett år. endif

Slinga med förutsättning

Bourne skal

#!/bin/sh i = 2 j = 1 medan [ $j -le 10 ] eko '2 **' $j = $i i = ` expr $ i '*' 2 ` j = ` expr $j + 1 ` gjort

C skal

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

Slinga med räknare

Bourne skal

#!/bin/sh för i i d* gör fallet $i i d? ) echo $i är kort ;; * ) echo $i är lång ;; esac gjort

C skal

#!/bin/csh foreach i ( d* ) switch ( $i ) fall d?: echo $i är kort breaksw standard : echo $i är long endsw end

Anteckningar

  1. Zoulas, Christos (24 november 2016), tcsh-6.20.00 är nu tillgänglig! , < http://mx.gw.com/pipermail/tcsh/2016-November/005021.html > . Hämtad 24 november 2016. Arkiverad 25 november 2016 på Wayback Machine 

Se även