codecamp

Bash if-else语句

if-else语句同if用于在代码语句的顺序执行流程中执行条件任务。当判断为true,执行第一组给定的代码语句。当判断为false,执行另一组给定的代码语句。

基础

语法:

if [ condition ];
then
   <if block commands>
else
  <else block commands>
fi

注:
- condition 是条件语句。
- block commands 是给定的执行语句。
- 可以使用一组以逻辑运算符连接的一个或多个条件。
- 其他块命令包括一组在条件为false时执行的代码语句。
- 条件表达式后的分号 ;是必须的。

示例:

#!/bin/bash


#when the condition is true
if [ 10 -gt 3 ];
then
  echo "10 is greater than 3."
else
  echo "10 is not greater than 3."
fi


#when the condition is false
if [ 3 -gt 10 ];
then
  echo "3 is greater than 10."
else
  echo "3 is not greater than 10."
fi

执行后得到以下结果:

10 is greater than 3.
3 is not greater than 10.

单行编写

您可以在一行中编写完整的if-else语句以及命令。需要遵循以下规则:

  • ifelse的语句末尾使用;
  • 使用空格作为分隔符以此追加其他语句。

示例:

#!/bin/bash


read -p "Enter a value:" value
if [ $value -gt 9 ]; then echo "The value you typed is greater than 9."; else echo "The value you typed is not greater than 9."; fi

执行后得到以下结果:

Enter a value:3
The value you typed is not greater than 9.

嵌套语句

if语句的嵌套一样,if-else语句也能够嵌套使用。如下示例:

#!/bin/bash


read -p "Enter a value:" value
if [ $value -gt 9 ];
then
  if [ $value -lt 11 ];
  then
     echo "$value>9, $value<11"
  else
    echo "The value you typed is greater than 9."
  fi
else echo"The value you typed is not greater than 9."
fi

执行后得到以下结果:

Enter a value:5
The value you typed is not greater than 9.
Bash if语句
Bash else-if语句
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }