mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-19 22:51:41 +08:00
146 lines
3.5 KiB
Markdown
146 lines
3.5 KiB
Markdown
Shell Scripting – Checking Conditions with if
|
||
================================================================================
|
||
In Bourne Shell if statement checks whether a condition is true or not. If so , the shell executes the block of code associated with the if statement. If the statement is not true , the shell jumps beyond the end of the if statement block & Continues on.
|
||
|
||
### Syntax of if Statement : ###
|
||
|
||
if [ condition_command ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
fi
|
||
|
||
#### Example: ####
|
||
|
||
#!/bin/bash
|
||
number=150
|
||
if [ $number -eq 150 ]
|
||
then
|
||
echo "Number is 150"
|
||
fi
|
||
|
||
#### if-else Statement : ####
|
||
|
||
In addition to the normal if statement , we can extend the if statement with an else block. The basic idea is that if the statement is true , then execute the if block. If the statement is false , then execute the else block.
|
||
|
||
#### Syntax : ####
|
||
|
||
if [ condition_command ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
else
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
fi
|
||
|
||
#### Example: ####
|
||
|
||
#!/bin/bash
|
||
number=150
|
||
if [ $number -gt 250 ]
|
||
then
|
||
echo "Number is greater"
|
||
else
|
||
echo "Number is smaller"
|
||
fi
|
||
|
||
### If..elif..else..fi Statement (Short for else if) ###
|
||
|
||
The Bourne shell syntax for the if statement allows an else block that gets executed if the test is not true. We can nest if statement , allowing for multiple conditions. As an alternative, we can use the elif construct , shot for else if.
|
||
|
||
#### Syntax : ####
|
||
|
||
if [ condition_command ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
elif [ condition_command2 ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
else
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
fi
|
||
|
||
#### Example : ####
|
||
|
||
#!/bin/bash
|
||
number=150
|
||
if [ $number -gt 300 ]
|
||
then
|
||
echo "Number is greater"
|
||
elif [ $number -lt 300 ]
|
||
then
|
||
echo "Number is Smaller"
|
||
else
|
||
echo "Number is equal to actual value"
|
||
fi
|
||
|
||
### Nested if statements : ###
|
||
|
||
If statement and else statement can be nested in a bash script. The keyword ‘fi’ shows the end of the inner if statement and all if statement should end with the keyword ‘fi’.
|
||
|
||
Basic **syntax of nested** if is shown below :
|
||
|
||
if [ condition_command ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
else
|
||
if [ condition_command2 ]
|
||
then
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
else
|
||
command1
|
||
command2
|
||
……..
|
||
last_command
|
||
fi
|
||
fi
|
||
|
||
#### Example: ####
|
||
|
||
#!/bin/bash
|
||
number=150
|
||
if [ $number -eq 150 ]
|
||
then
|
||
echo "Number is 150"
|
||
else
|
||
if [ $number -gt 150 ]
|
||
then
|
||
echo "Number is greater"
|
||
else
|
||
echo "'Number is smaller"
|
||
fi
|
||
fi
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: http://www.linuxtechi.com/shell-scripting-checking-conditions-with-if/
|
||
|
||
作者:[Pradeep Kumar][a]
|
||
译者:[译者ID](https://github.com/译者ID)
|
||
校对:[校对者ID](https://github.com/校对者ID)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||
|
||
[a]:http://www.linuxtechi.com/author/pradeep/ |