translated by ThomazL

This commit is contained in:
ThomazL 2014-11-03 11:41:30 +08:00
parent 7aa10b6796
commit 4f077c7c50

View File

@ -1,11 +1,10 @@
>>> Translating by ThomazL Shell 脚本 - 使用 if 语句进行条件检测
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. [Bourne Shell](http://en.wikipedia.org/wiki/Bourne_shell) 的 if 语句和大部分编程语言一样 - 检测条件是否真实如果条件为真shell 会执行这个 if 语句指定的代码块如果条件为假shell 就会跳过 if 代码块,继续执行之后的代码。
### Syntax of if Statement : ### ### if 语句的语法: ###
if [ condition_command ] if [ 判断条件 ]
then then
command1 command1
command2 command2
@ -22,13 +21,13 @@ In Bourne Shell if statement checks whether a condition is true or not. If so ,
echo "Number is 150" echo "Number is 150"
fi fi
#### if-else Statement : #### #### if-else 语句: ####
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. 除了标准的 if 语句之外,我们还可以加入 else 代码块来扩展 if 语句。这么做的主要目的是:如果 if 条件为真,执行 if 语句里的代码块,如果 if 条件为假,执行 else 语句里的代码块。
#### Syntax : #### #### 语法: ####
if [ condition_command ] if [ 判断条件 ]
then then
command1 command1
command2 command2
@ -52,19 +51,19 @@ In addition to the normal if statement , we can extend the if statement with an
echo "Number is smaller" echo "Number is smaller"
fi fi
### If..elif..else..fi Statement (Short for else if) ### ### If..elif..else..fi 语句 (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. Bourne Shell 的 if 语句语法中else 语句里的代码块会在 if 条件为假时执行。我们还可以将 if 语句嵌套到一起,来实现多重条件的检测。我们可以使用 elif 语句else if 的缩写)来构建多重条件的检测。
#### Syntax : #### #### 语法 : ####
if [ condition_command ] if [ 判断条件1 ]
then then
command1 command1
command2 command2
…….. ……..
last_command last_command
elif [ condition_command2 ] elif [ 判断条件2 ]
then then
command1 command1
command2 command2
@ -91,20 +90,20 @@ The Bourne shell syntax for the if statement allows an else block that gets exec
echo "Number is equal to actual value" echo "Number is equal to actual value"
fi fi
### Nested if statements : ### ### 多重 if 语句 : ###
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. If 和 else 语句可以在一个 bash 脚本里相互嵌套。关键词 “fi” 表示里层 if 语句的结束,所有 if 语句必须使用 关键词 “fi” 来结束。
Basic **syntax of nested** if is shown below : 基本 if 语句的 **嵌套语法**
if [ condition_command ] if [ 判断条件1 ]
then then
command1 command1
command2 command2
…….. ……..
last_command last_command
else else
if [ condition_command2 ] if [ 判断条件2 ]
then then
command1 command1
command2 command2
@ -139,7 +138,7 @@ Basic **syntax of nested** if is shown below :
via: http://www.linuxtechi.com/shell-scripting-checking-conditions-with-if/ via: http://www.linuxtechi.com/shell-scripting-checking-conditions-with-if/
作者:[Pradeep Kumar][a] 作者:[Pradeep Kumar][a]
译者:[译者ID](https://github.com/译者ID) 译者:[ThomazL](https://github.com/ThomazL)
校对:[校对者ID](https://github.com/校对者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出