shell学习笔记(7)流程控制

1、if else

if condition
then
    command1 
    command2
    ...
    commandN 
fi

2、if else-if else

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

注:

  • if else 的 [...] 判断语句中大于使用 -gt,小于使用 -lt;
  • 如果使用 ((...)) 作为判断语句,大于和小于可以直接使用 > 和 <。

3、for 循环

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

4、while

while condition
do
    command
done

5、until循环

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

until condition
do
    command
done

6、case ... esac

case ... esac 为多选择语句,与其他语言中的 switch ... case 语句类似,是一种多分支选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case ... esac 语句,esac(就是 case 反过来)作为结束标记。

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

case 工作方式如上所示,取值后面必须为单词 in,每一模式必须以右括号结束。取值可以为变量或常数,匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

7、循环控制

  • break 命令允许跳出所有循环(终止执行后面的所有循环)。
  • continue 命令与 break 命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

 

 

参考:Shell 流程控制 | 菜鸟教程 (runoob.com)

 

posted @ 2022-07-28 11:06  ☞@_@  阅读(23)  评论(0编辑  收藏  举报