Csh

C skal
Type UNIX kommando shell
Forfatter Bill Joy
Udvikler Bill Joy
Skrevet i Xi
Operativ system BSD , UNIX , Linux , Mac OS X
Første udgave 1978 ( 1978 )
nyeste version 6.20.00 ( 24. november 2016 [1] )
Licens BSD-licens

C-skallen ( csh ) er en UNIX-skal med et indlejret scriptsprog udviklet i 1979 af Bill Joy , aktiv BSD UNIX -udvikler og skaber af vi- editoren , i 1979 .

Baseret på kommandofortolkerkoden for den sjette version af UNIX . Skriptsproget er ikke ringere end Bourne-skallen med hensyn til kraft, men adskiller sig i syntaks. Mens Bourne kopierede alle de grundlæggende operatører fra Algol 68 , brugte Bill Joy C som et layout , sandsynligvis baseret på hans egne præferencer og andre BSD UNIX-brugeres.

I begyndelsen af ​​1990'erne blev C-skallen kritiseret for dens tvetydighed og dens lakoniske fortolker, der forhindrer scriptet i at blive eksekveret, men ikke giver nogen detaljer om, hvad der faktisk skete. Nogle gange fungerede csh-scripts ikke, som brugeren forventede. Der var også situationer, hvor tolken afviste tilsyneladende konsekvente kodelinjer.

C-skallen blev sendt med 4.1BSD og er stadig en kernedel af alle dens efterkommere, inklusive FreeBSD og OpenBSD .

Sammenligning med Bourne shell

Tilstand

Bourne skal

#!/bin/sh if [ $days -gt 365 ] then echo Dette er over et år. fi

C skal

#!/bin/csh if ( $days > 365 ) then echo Dette er over et år. Afslut Hvis

Sløjfe med forudsætning

Bourne skal

#!/bin/sh i = 2 j = 1 , mens [ $j -le 10 ] ekko ' 2 **' $j = $i i = ` expr $i '*' 2 ` j = ` expr $j + 1 ` færdig

C skal

#!/bin/csh sæt i = 2 sæt j = 1 mens ( $j < = 10 ) ekko '2 **' $j = $i @ i * = 2 @j++ ende

Sløjfe med tæller

Bourne skal

#!/bin/sh for i i d* gør tilfælde $i i d? ) echo $i er kort ;; * ) echo $i er lang ;; esac færdig

C skal

#!/bin/csh foreach i ( d* ) switch ( $i ) case d?: echo $i er kort pausew standard : echo $i er long endsw end

Noter

  1. Zoulas, Christos (24. november 2016), tcsh-6.20.00 er nu tilgængelig! , < http://mx.gw.com/pipermail/tcsh/2016-November/005021.html > . Hentet 24. november 2016. Arkiveret 25. november 2016 på Wayback Machine 

Se også