theshell.ch/site/pages/scripts/if.html

141 lines
3.2 KiB
HTML
Raw Normal View History

---
layout: page
category-page: scripts
category-title: Scripting
tags: if else script scripting read
author: Matteo Omenetti
title: If Statement
---
<!-- Introduction -->
<p>
If statements allow us to make decisions in our Bash scripts. They allow us to whether run or not a piece
of code based on a condition that we set. <br>
If statements take this form:
{% highlight bash %}
if [condition]; then
command1
command2
command3
...
fi
{% endhighlight %}
Anything between <code>then</code> and <code>fi</code> will be executed only if the condtion
evaluates to true. <br>
Here is a simple example:
{% highlight bash %}
i=210;
if [$i -ge 200]; then
echo "You chose a big number."
fi
{% endhighlight %}
In this first example we evaluate a varibale <code>i</code> to 105.
The <i> if statement </i> will print "You chose a big number"
only if the number contained in our varibale <code>i</code> is <b>G</b>reater or
<b>E</b>qual to 200. <br>
This is our case, therefore the output of this piece of code will be:
<pre>
You chose a big number.
</pre>
<!-- End of Introduction -->
<!-- If Else -->
<h3> If Else </h3>
Sometimes we want to perform a certain set of actions, if our condtion evaluates to
true and another set of actions if our condition evaluates to false. We can do this with
the <i> if else </i> statement.
<i> if else </i> sattements take this form:
{% highlight bash %}
if [condition]; then
command1
command2
command3
...
else
command1
command2
command3
...
fi
{% endhighlight %}
Here is a simple example:
{% highlight bash %}
i=50;
if [$i -ge 200]; then
echo "You chose a big number."
else
echo "You chose a small number."
fi
{% endhighlight %}
In this example, that is just an extention of the previuous example, we
evealuate a variable <code>i</code> to 50. If <code>i</code> is gretaer or equal to
200, you print out "You chose a big number", otherwise,
(if <code>i</code> is not gretaer or equal to 200), just like in this case, you print out
"You chose a small number".
Therefore the output of this piece of code is:
<pre>
You chose a small number.
</pre>
<!-- End of If Else -->
<!-- If Elif Else -->
<h3> If Elif Else </h3>
Sometimes, in programming, it is necessary to have a series of condtions that lead to different paths.
We can accomodate this need with the <i>if else elif</i> mechanism.
The <i>if else elif</i> mechanism takes this form:
{% highlight bash %}
if [condition]; then
command1
command2
command3
...
elif [condition]; then
command1
command2
command3
...
else
command1
command2
command3
...
fi
{% endhighlight %}
Here is a simple example:
{% highlight bash %}
i=150;
if [$i -ge 200]; then
echo "You chose a big number."
elif [$i == 150]; then
echo "You chose 150".
else
echo "You chose a small number"
fi
{% endhighlight %}
In this example, that is just an extention of the previuous example, we evealuate a
variable <code>i</code> to 150. If <code>i</code> is gretaer or equal to 200,
you print out "You chose a big number", if <code>i</code> is equal to 150 you print out
"You chose 150" otherwise you print out "You chose a small number".
Therefore the output of this piece of code is:
<pre>
You chose 150.
</pre>
</p>