if语句

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

注意:
  a.使用fi结尾
  b.条件判断式和中括号之间需要有空格

[root@localhost sh]# cat if_test.sh
#!/bin/bash
#判断系统硬盘使用率 rate=$(df -h | grep /dev/sda1 | awk '{print $5}' | cut -d "%" -f1) if [ $rate -ge 90 ]
  then
    echo "dev/sda1 is full"
    echo "now use : $rate"
elif [ $rate -ge 80 ]
  then
    echo "dev/sda1 will be full"
    echo "now is $rate"
else
  echo "dev/sda1 is not full"
  echo "now use : $rate"
fi [root@localhost sh]# sh if_test.sh
dev/sda1 is not full
now use : 7
[root@localhost sh]#

case语句

case $变量名 in
  "值1")
    如果值为1就执行这里的代码
    ;;
  "值2")
    如果值为2就执行这里的代码
    ;;
  *)
    如果都匹配不上就执行这里的代码
    ;;
esac

[root@localhost sh]# cat case_test.sh
#!/bin/bash
#判断用户输入 read -p "input yes/no: " -t 30 cho
case $cho in
  "yes")
    echo "intput is yes"
    ;;
  "no")
    echo "input is no"
    ;;
  *)
    echo "error input"
    ;;
esac [root@localhost sh]# sh case_test.sh
input yes/no: yes
intput is yes
[root@localhost sh]#

  

for语句

语法一:

for 变量 in 值1 值2 值3
  do
    程序
  done

[root@localhost sh]# cat for1.sh
#!/bin/bash
#打印时间
for time in moring noon afternoon evening
  do
    echo "This time is $time"
  done [root@localhost sh]# sh for1.sh
This time is moring
This time is noon
This time is afternoon
This time is evening
[root@localhost sh]#
[root@localhost sh]# cat for2.sh
#!/bin/bash
#打印文件名
ls > ls.log
for f in $(cat ls.log)
  do
    echo "File is $f"
  done [root@localhost sh]# sh for2.sh
File is case_test.sh
File is for1.sh
File is for2.sh
File is if_test.sh
File is ls.log
File is param_test1.sh
File is param_test2.sh
File is param_test3.sh
[root@localhost sh]#

语法二:

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

[root@localhost sh]# cat for3.sh
#!/bin/bash
#从1加到100
s=0
for((i=1;i<=100;i++))
  do
    s=$(($s+$i))
  done echo "Sum $s"
[root@localhost sh]# sh for3.sh
Sum 5050
[root@localhost sh]#

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

[root@localhost sh]# cat while_test.sh
#!/bin/bash
#从1到100累加
i=1
s=0
while [ $i -le 100 ]
  do
    s=$(($s+$i))
    i=$(($i+1))
  done
echo "Sum $s"
[root@localhost sh]# sh while_test.sh
Sum 5050
[root@localhost sh]#

  

until循环
until [条件判断式]
  do
    程序
  done

[root@localhost sh]# cat until_test.sh
#!/bin/bash
#从1到100累加
i=1
s=0
until [ $i -gt 100 ]
  do
    s=$(($s+$i))
    i=$(($i+1))
  done
echo "Sum $s"
[root@localhost sh]# sh until_test.sh
Sum 5050
[root@localhost sh]#

  

Linux中的流程控制语句的更多相关文章

  1. linux shell awk 流程控制语句(if,for,while,do)详细介绍

    在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...

  2. Mysq中的流程控制语句的用法

    这篇博客主要是总结一下Mysq中的流程控制语句的用法,主要是:CASE,IF,IFNULL,NULLIF 1.case CASE value WHEN [compare-value] THEN res ...

  3. SQL SERVER中的流程控制语句

    流程控制语句 是指用来控制程序运行和流程分至点额命令.一般指的是逻辑计算部分的控制. 1.Begin End语句 封装了多个T-SQL语句组合,将他们组成一个单元来处理. 一般在条件查询或者循环等控制 ...

  4. JS中的流程控制语句

    什么叫做语句? 语句:可以理解为语言中一句一句完整的话,程序是由一条条语句构成的,语句是按照自上往下的顺序执行的. 在JavaScript可以使用{  }来为语句进行分组.同一{  }中的语句称为一组 ...

  5. JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环

    文章目录 1.流程控制语句 1.1 代码 1.2 测试结果 2.弹窗提示输入内容 2.1 代码 2.2 测试结果 3.条件分支语句 3.1 代码 3.2 测试结果 4.while和 do...whil ...

  6. java中的流程控制语句总结

    程序的结构分类: 顺序结构:按照写代码的顺序 一次执行 选择结构:根据条件的不同有选择的执行不同的代码 循环结构:在一定条件下 反复执行某一片代码 选择结构: 也叫分支结构 根据条件的不同,有选择的执 ...

  7. Linux Shell 02 流程控制语句

    一.if语句格式:支持if/elif/else形式,支持嵌套 1. command执行成功(及退出状态为0)时,执行command2 2. 当判断条件为test命令时,判断结果为true时,执行com ...

  8. python 中的流程控制语句

    原文 if 语句 >>> x = int(input("Please enter an integer: ")) Please enter an integer: ...

  9. PHP:第二章——PHP中的流程控制语句

    if语句的集中形式 <?php /*if(条件) 语句; if(条件){语句块} if(条件){语句或语句块}else{语句或语句块} if(条件){语句或语句块}elseif(条件){语句或语 ...

随机推荐

  1. VUE入门实例,模版组件用法

    这里每一个例子可以直接拷进body运行. 本系列为学习记录,并非大神教学案例. 仅仅整理用法,至于VUE的原理,设计模式等等暂不讨论,文中如有不对,还请大家帮忙指正,万分感激. 下一篇会写父子组件交互 ...

  2. JSONP(转)

    1 什么是Jsonp? JSONP(JSON with Padding)是数据格式JSON的一种“使用模式”,可以让网页从别的网域要数据.另一个解决这个问题的新方法是跨来源资源共享. 由于同源策略,一 ...

  3. javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

    一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.se ...

  4. Spring Java-based容器配置(二)

    组装Java-based的配置 使用@Import注解 跟在Spring XML文件里使用<import>元素加入模块化的配置相似,@Import注解同意你载入其它配置类中的@Bean定义 ...

  5. 浅谈web前端安全

    单纯地在你的客户端弹出信息只是类似于迫使你在自己的房间脱衣服--没人看得到,自然也不算啥恶意行为.那么如果我把你的信息通过脚本发送到我的服务器保存起来呢?先放心,我不打算这么做,也没那笔闲钱去购置一个 ...

  6. form表单提交方式

    form表单提交方式总结一下: 一.利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为空,如果为空,返回false, 不提交 ...

  7. 我买网B轮融资成功,五周年豪掷千万回馈会员

        对中粮我买网而言,近期的B轮融资应该算是最大的好消息了------8月1日,中粮我买网在京宣布完毕B轮融资.金额高达1亿美元.被称为"食品电商史上最大融资".据悉,本次融资 ...

  8. 理解和使用WPF 验证机制(值得推荐)

    首先建立一个demo用以学习和实验WPF Data Validation机制.创建一个数据实体类: public class Employee { public string Name { get;  ...

  9. SQL2008删除大量数据

    常见问题:工作中数据库难免产生大量的日志,而用户可能关心的只有最近一个月左右的,这些日志占用了服务器磁盘,还可能影响了服务运行效率.甚至在数据库迁移时更因为体积而带来巨大麻烦. 那么,在需要时,删除不 ...

  10. 【BZOJ3502/2288】PA2012 Tanie linie/【POJ Challenge】生日礼物 堆+链表(模拟费用流)

    [BZOJ3502]PA2012 Tanie linie Description n个数字,求不相交的总和最大的最多k个连续子序列. 1<= k<= N<= 1000000. Sam ...