The C shell (csh) or the improved version, tcsh is a Unix shell that was originally created by Bill Joy at University of California, Berkeley in the late 1970s.
The syntax is as follows:
while ( condition )
# do something
# command 1
# command 2
set i = 1
while ( i < 5 ) # do something till i < 5 # command 1 # command 2 @ i++ end
foreach n ( 1 2 3 4 5 )
The following csh code will print welcome message five times on screen:
#!/bin/csh # demoloop.csh - Sample loop script set j = 1 while ( $j <= 5 ) echo "Welcome $j times" @ j++ end
Save and close the file. Run it as follows:
chmod +x demoloop.csh
Welcome 1 times Welcome 2 times Welcome 3 times Welcome 4 times Welcome 5 times
csh foreach example
#!/bin/csh echo "Setting name servers...." foreach i ( ns1.cyberciti.biz ns2.cyberciti.biz ) echo $i end
Setting name servers.... ns1.cyberciti.biz ns2.cyberciti.biz
You can use wild card with foreach as follows:
#!/bin/csh foreach i (*) if (-f $i) then echo "$i is a file." endif if (-d $i) then echo "$i is a directory." endif end
mycal.pl is a file. skl is a directory. x is a file. x.pl is a file. y is a file.
Please note that csh was popular for many innovative features but csh has never been as popular for scripting. If you are writing system level rc scripts avoid using csh. You may want to use /bin/sh for any scripts that might have to run on other systems.