Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

if (1t)

Name

if - Execute scripts conditionally

Synopsis

if  expr1  ?then?  body1  elseif  expr2  ?then? body2 elseif ... ?else?
?bodyN?

Description

if(1t)                       Tcl Built-In Commands                      if(1t)



______________________________________________________________________________

NAME
       if - Execute scripts conditionally

SYNOPSIS
       if  expr1  ?then?  body1  elseif  expr2  ?then? body2 elseif ... ?else?
       ?bodyN?
______________________________________________________________________________


DESCRIPTION
       The if command evaluates expr1 as an expression (in the same  way  that
       expr  evaluates  its  argument).  The value of the expression must be a
       boolean (a numeric value, where 0 is false and anything is true,  or  a
       string  value  such as true or yes for true and false or no for false);
       if it is true then body1 is executed by passing it to  the  Tcl  inter-
       preter.   Otherwise  expr2  is  evaluated as an expression and if it is
       true then body2 is executed, and so on.  If  none  of  the  expressions
       evaluates  to true then bodyN is executed.  The then and else arguments
       are optional "noise words" to make the command easier to  read.   There
       may be any number of elseif clauses, including zero.  BodyN may also be
       omitted as long as else is omitted too.  The return value from the com-
       mand  is  the  result of the body script that was executed, or an empty
       string if none of the expressions was non-zero and there was no bodyN.

EXAMPLES
       A simple conditional:

              if {$vbl == 1} { puts "vbl is one" }

       With an else-clause:

              if {$vbl == 1} {
                  puts "vbl is one"
              } else {
                  puts "vbl is not one"
              }

       With an elseif-clause too:

              if {$vbl == 1} {
                  puts "vbl is one"
              } elseif {$vbl == 2} {
                  puts "vbl is two"
              } else {
                  puts "vbl is not one or two"
              }

       Remember, expressions can be multi-line, but in that case it can  be  a
       good idea to use the optional then keyword for clarity:

              if {
                  $vbl == 1
                  || $vbl == 2
                  || $vbl == 3
              } then {
                  puts "vbl is one, two or three"
              }


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       expr(n), for(n), foreach(n)

KEYWORDS
       boolean, conditional, else, false, if, true



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                                                     if(1t)