📜  shell 脚本中的 if 语句 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:34:58.175000             🧑  作者: Mango

Shell脚本中的if语句

简介

if语句是Shell脚本中的一种条件判断语句,用于根据特定条件执行不同的代码片段。在Shell脚本中,if语句的语法结构如下:

if condition; then
   # 在这里编写需要执行的代码块
fi

其中,condition是需要判断的条件表达式,then表示当条件表达式为真时需要执行的代码块,fi表示if语句的结束。如果条件表达式为假,则if语句中的代码块不会执行。

基本语法
单个if语句

下面是一个简单的if语句示例,用于判断变量num是否为0。如果是0,则输出等于0,否则输出不等于0

num=0
if [ $num -eq 0 ]; then
  echo "等于0"
else
  echo "不等于0"
fi

其中,-eq表示等于,$num表示变量num的值。

多个if语句

可以使用多个if语句来对多个条件进行判断。下面是一个使用多个if语句的示例,用于根据输入的数字输出相应的英文单词。

read -p "Please input a number: " num
if [ $num -eq 1 ]; then
  echo "One"
elif [ $num -eq 2 ];then
  echo "Two"
elif [ $num -eq 3 ];then
  echo "Three"
else
  echo "Unknown"
fi

其中,read命令用于从用户输入中读取数据,并将其赋值给变量num

嵌套if语句

if语句也可以嵌套使用,用于进一步对多个条件进行细分。下面是一个嵌套if语句的示例,用于判断输入的数字是否为奇数。

read -p "Please input a number: " num
if [ $((num%2)) -eq 0 ]; then
  echo "even"
else
  if [ $num -lt 0 ]; then
    echo "negative odd"
  else
    echo "positive odd"
  fi
fi

其中,$((num%2))表示对num取余(即判断是否为奇数),-lt表示小于。如果num小于0且为奇数,则输出negative odd,否则输出positive odd

总结

if语句是Shell脚本中非常常用的一种语句,用于根据不同的条件执行不同的代码片段。if语句可以单独使用,也可以嵌套使用,还可以和其他Shell命令一起使用。熟练掌握if语句的使用可以帮助开发者更好地编写Shell脚本。