如何在Bash脚本中编写IF语句

命令,语法和示例

使用if语句(这是一种条件语句),可以根据指定的条件执行不同的操作。 它有效地为系统提供决策的能力。

if语句的最简单形式的一个例子是:

count = 5 if [$ count == 5]然后echo“$ count”fi

在本例中,变量“count”用于指定用作if语句一部分的条件。 在执行if语句之前,变量“count”被分配值“5”。 if语句然后检查“count”的值是否为“5”。 如果是这种情况,则执行关键字“then”和“fi”之间的语句,否则执行if语句后面的任何语句。 关键字“fi”是“if”向后拼写。 bash脚本语言使用这种约定来标记复杂表达式的结尾,例如if语句或case语句。

“echo”语句将其参数(在本例中为变量“count”的值)输出到终端窗口。 if语句的关键字之间的代码缩进提高了可读性,但不是必需的。

如果只有条件不成立时才会执行一段代码,则可以在if语句中使用关键字“else”,如下例所示:

count = 5 if [$ count == 5]然后echo“$ count”else echo“count is not 5”fi

如果条件“$ count == 5”为真,系统打印变量“count”的值,否则打印字符串“count is not 5”。

如果要区分多个条件,可以使用从“else if”派生的关键字“elif”,如下例所示:

如果[$ count == 5],那么echo“count is five”elif [$ count == 6],然后echo“count is six”else else“none of the above”fi

如果“count”为“5”,则系统打印出“count is five”。 如果“计数”不是“5”而是“6”,则系统打印“计数为六”。 如果它不是“5”和“6”,则系统打印“以上都不是”。

正如你可能猜到的,你可以有任意数量的“elif”子句。 具有多个“elif”条件的示例是:

如果[$ count == 5]然后echo“count is five”elif [$ count == 6],那么echo“count is six”elif [$ count == 7]然后echo“count is seven”elif [$ count = = 8]然后echo“count is eight”elif [$ count == 9]然后echo“count is nine”else else echo“above of the above”fi

使用多种条件编写此类语句的更简洁的方法是实例方法。 它的功能类似于带有多个“elif”子句的if语句,但更简洁。 例如,上面的一段代码可以用“case”语句重写,如下所示:

在5)echo“count is five”的情况下“$ count”;;; 6)回声“计数是六”;; 7)echo“count is seven”;; 8)echo“count is eight”;; 9)echo“count is nine”;; *)回声“以上都不是”esac

如果在这个例子中if语句经常用在for循环while循环中:

count = 1 done = 0 while [$ count -le 9] do sleep 1((count ++))if [$ count == 5]然后继续fi echo“$ count”done echo完成

你也可以嵌套if语句。 最简单的嵌套if语句的形式如下:if ... then ... else ... if ... then ... fi ... fi。 但是,if语句可以嵌套任意的复杂性。

另请参阅如何将参数传递给bash脚本 ,该脚本显示如何使用条件来处理从命令行传递的参数。

bash shell提供了其他编程结构,例如for循环while循环算术表达式