if(n) Tcl Built-In Commands if(n)

```

```

# [NAME](#NAME)

if - Execute scripts conditionally

# [SYNOPSIS](#SYNOPSIS)

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

```

```

# [DESCRIPTION](#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 interpreter. 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 command 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](#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"
}
```

# [SEE ALSO](#SEE_ALSO)

[expr(n)](/man/os/tcl/expr.n), [for(n)](/man/os/tcl/for.n), [foreach(n)](/man/os/tcl/foreach.n)

# [KEYWORDS](#KEYWORDS)

boolean, conditional, else, false, if, true

Tcl

---

Document: if(n) from tcl 9.1.0-r1 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/tcl/Tcl/9.1.0/tcl9.1.0-src.tar.gz
