csh/C shell scripts: if statement syntax

Posted January 9, 2004 by Rex in csh shell scripting

Conditional expressions give programs life. The ability to branch makes shell scripts powerful. This recipe shows the basic if then else structure for csh, the C shell.


Basic if statement syntax:

if (condition) then
commands
endif

The addition of one or more else keywords offers additional flexibility:

if (condition) then
commands
else if (other condition) then
commands
else
commands
endif

The Conversation

Follow the reactions below and share your own thoughts.

  • Dan

    test for the existence of a variable using
    if ($?LD_LIBRARY_PATH == 0) then
    setenv LD_LIBRARY_PATH /usr/lib;
    endif

    • Dan

      A variation of the above would be:

      if ( ! ${?LD_LIBRARY_PATH} ) then
      setenv LD_LIBRARY_PATH /usr/lib
      endif

      Use the {} around variables as a habit since the variable names can often interfere with shell syntax.

      The semicolon at the end is ignored.

  • Dan

    Without concrete examples of how the syntax is actually used, this is almost useless information.

    • Paul

      Almost? More like completely…

  • Chisimobi

    need more examples

  • Chisim_obi

    need more examples