TranslateProject/published/201412/20141029 Shell Scripting--Checking Conditions with if.md

147 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Shell 脚本 - 使用 if 语句进行条件检测
================================================================================
[Bourne Shell](http://en.wikipedia.org/wiki/Bourne_shell) 的 if 语句和大部分编程语言一样 - 检测条件是否真实如果条件为真shell 会执行这个 if 语句指定的代码块如果条件为假shell 就会跳过 if 代码块,继续执行之后的代码。
### if 语句的语法: ###
if [ 判断条件 ]
then
command1
command2
……..
last_command
fi
#### Example: ####
#!/bin/bash
number=150
if [ $number -eq 150 ]
then
echo "Number is 150"
fi
#### if-else 语句: ####
除了标准的 if 语句之外,我们还可以加入 else 代码块来扩展 if 语句。这么做的主要目的是:如果 if 条件为真,执行 if 语句里的代码块,如果 if 条件为假,执行 else 语句里的代码块。
#### 语法: ####
if [ 判断条件 ]
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 语句 (简写的 else if) ###
Bourne Shell 的 if 语句语法中else 语句里的代码块会在 if 条件为假时执行。我们还可以将 if 语句嵌套到一起,来实现多重条件的检测。我们可以使用 elif 语句else if 的缩写)来构建多重条件的检测。
#### 语法 : ####
if [ 判断条件1 ]
then
command1
command2
……..
last_command
elif [ 判断条件2 ]
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
### 多重 if 语句 : ###
If 和 else 语句可以在一个 bash 脚本里相互嵌套。关键词 “fi” 表示里层 if 语句的结束,所有 if 语句必须使用 关键词 “fi” 来结束。
基本 if 语句的**嵌套语法**
if [ 判断条件1 ]
then
command1
command2
……..
last_command
else
if [ 判断条件2 ]
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]
译者:[ThomazL](https://github.com/ThomazL)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.linuxtechi.com/author/pradeep/