美文网首页
shell系列4-流程控制

shell系列4-流程控制

作者: 只是甲 | 来源:发表于2022-04-13 10:21 被阅读0次

一. if 判断

语法1:

if [ 条件判断式 ];then 
  程序 
fi 
或者:
if [ 条件判断式 ] 
  then 
    程序 
fi

语法2:

if [ 条件判断式 ] 
  then 
    程序1
  else
    程序2 
fi

语法3:

if [ 条件判断式1 ] 
    then 
      程序1
  elif [ 条件判断式2 ]
    then
    程序2 
  elif [ 条件判断式3 ]
    then
    程序3
  else
    程序4
fi

实操案例:

#!/bin/bash  

echo "Please Input a integer(0-100): "
read score

if [ "$score" -lt 0 -o "$score" -gt 100 ]
then
    echo "The score what you input is not integer or the score is not in (0-100)."
elif [ "$score" -ge 90 ]
then
    echo "The grade is A!"
elif [ "$score" -ge 80 ]
then
    echo "The grade is B!"
elif [ "$score" -ge 70 ]
then
    echo "The grade is C!"
elif [ "$score" -ge 60 ]
then
    echo "The grade is D!"
else
    echo "The grade is E!"
fi

二. case语句

语法:

case $变量名 in 
  "值1") 
    如果变量的值等于值1,则执行程序1 
    ;; 
  "值2") 
    如果变量的值等于值2,则执行程序2 
    ;; 
  …省略其他分支… 
  *) 
    如果变量的值都不是以上的值,则执行此程序 
    ;; 
esac

注意事项:

  1. case行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
  2. 双分号“;;”表示命令序列结束,相当于java中的break。
  3. 最后的“*)”表示默认模式,相当于java中的default。

实操案例:

#!/bin/bash
 
echo "Please Input a score_type(A-E): "
read score_type

case "$score_type" in
A)
     echo "The range of score is from 90 to 100 !";;
B)
     echo "The range of score is from 80 to 89 !";;
C)
     echo "The range of score is from 70 to 79 !";;
D)
     echo "The range of score is from 60 to 69 !";;
E)
     echo "The range of score is from 0 to 59 !";;
*)
     echo "What you input is wrong !";;
esac

三. for循环

语法:

for (( 初始值;循环控制条件;变量变化 )) 
  do 
    程序 
  done

实操案例:

#!/bin/bash

sum=0

for(( i = 1; i <= 100; i = i + 2 ))
do
     let "sum += i"
done

echo "sum=$sum"

四. while循环

语法:

while [ 条件判断式 ] 
  do 
    程序
  done

实操案例:

#!/bin/bash

sum=0

i=1

while(( i <= 100 ))
do
     let "sum+=i"
     let "i += 2"  
done

echo "sum=$sum"

相关文章

  • shell系列4-流程控制

    一. if 判断 语法1: 语法2: 语法3: 实操案例: 二. case语句 语法: 注意事项: case行尾必...

  • 10.Shell编程三:Shell中流程控制

    Shell中流程控制

  • lx4.shell2

    shell2 shell函数 字符隔断和迭代器 IFS 流程控制 循环

  • 2022-08-13 Linux基础知识(4)- Shell (

    Shell (二) | Shell 数组、流程控制 查看内容请点击下面的链接: https://www.cnblo...

  • shell(五)

    Shell 流程控制 和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): 在...

  • # shell流程控制语句

    shell流程控制语句 任何编程语言都离不开流程控制语句,其实编程基本上就是掌握了流程控制语句,然后加上函数(或者...

  • Shell流程控制

    Shell流程控制 简单流程控制语句 单分支if语句 语法格式 双分支if语句 语法格式 多分支if语句 语法格式...

  • linux shell编程学习--四函五流

    shell控制流程if else 语法,test、[] 、[[]]、(())、let 使用注意,如果没有else后...

  • Shell 流程控制

    和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): 在sh/bash里可不能...

  • shell 流程控制

    条件判断 if 单支流程控制 语法: 双分支 if 语句 语法 实例 多分支if 语法 实例 case 语句 语...

网友评论

      本文标题:shell系列4-流程控制

      本文链接:https://www.haomeiwen.com/subject/ccmfjrtx.html