Blog

03/06/2019

Unix: csh Shell Loop Example



Can you give me a simple loop example in csh shell in Linux or Unix like operating systems?

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.

Syntax

The syntax is as follows:

while ( condition )
# do something
# command 1
# command 2
end

OR
set i = 1
while ( i < 5 ) # do something till i < 5 # command 1 # command 2 @ i++ end

OR

foreach n ( 1 2 3 4 5 )
#command1
#command2
end

Examples

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
./demoloop.csh

Sample outputs:

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.sxi.io ns2.sxi.io  ) 
   echo $i 
end

Sample outputs:

Setting name servers....
ns1.sxi.io
ns2.sxi.io

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

Sample outputs:

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.

Recommended readings
  • tcsh(1)

Posted by: SXI ADMIN

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

20/08/2019

Start your Bitcoin Exchange with our Software

Start your Bitcoin Exchange with our Software Setup your white label bitcoin exchange right away. Or create your own cryptocurrency using...
14/08/2019

How to KVM, QEMU start or stop virtual machine from command line (CLI)

KVM or Kernel Based Virtual Machine is a popular virtualization technology. It allows you to run virtual guest machines over a host machine. To start...
14/08/2019

How to Docker backup Saving and restoring your volumes

Running a Docker volume backup First, we spin up a temporary container, and we mount the backup folder and the target Docker volume to this container....