linux流程控制if,for,case,while

 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而until属于“直到型循环”。循环控制符:break和continue控制流程转向。

选择执行:
            if COMMADN;then COMMAND;fi   :第一个命令执行成功,就执行第二条命令,否则就退出
多分支:
if  判断条件 1 ; then
      条件为真的分支代码
elif  判断条件 2 ; then
      条件为真的分支代码
elif  判断条件 3 ; then
      条件为真的分支代码
else
      以上条件都为假的分支代码
fi
     逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if

case中的 PAT 支持glob风格的通配符:
             *:  任意长度任意字符
             ?:  任意单个字符
            []:指定范围内的任意单个字符
           a|b: a或b
case 变量引用 in        #变量引用便是方法: $i  就是变量引用的值                  
PAT1)                   #每个分支结束,需要双引号结束
      分支1
      ;;
PAT2)
      分支2
      ;;
      …
)
      默认分支
      ;;
esac

循环执行:      
for  变量名 in 列表;do         #变量名,比如i, 直接是变量i ,而不是$i
     循环体
done
  执行机制 :
          依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束

列表生成方式:
(1)  直接给出列表
(2)  整数列表:
      (a) {start..end}     #{1..100}   {1..100..2} {100..1..1}  {100..10..-2}
      (b) $(seq [start [step]] end)  # seq 100   seq 1 2 100  seq 100 -2 1
      使用中括号的列表,步长放在后面
      使用seq命令列表,步长放在中间
(3)  返回列表的 命令
      $(COMMAND)
(4)  使用glob,如:
.sh
(5)  变量引用;
      $@, $*

取随机字符:tr -dc “[:alnum:]” < /dev/urandom |head -c8 |md5sum  表示取几位字符
                                              取随机密码:md5sum
for循环适合使用在关于数字和列表的循环,列表多少就循环多少次
while循环适用于判断命令成功与否;
打印颜色: echo -e “\033[41m  \033[0m”       -e 是使转义符生效
                     设定颜色    结束符
          其中41-45设定背景色,31-35字体颜色

while CONDITION; do
      循环体
done
     CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再
                  判断;条件为“true” ,则执行一次循环;直到条件测试状态为“false” 终止循环
 因此:CONDTION 一般应该有循环控制变量;而此变量的值会在循环体不断地被修正
  进入条件:CONDITION 为true
  退出条件:CONDITION 为false

until CONDITION; do
    循环体
done
   进入条件: CONDITION  为false
   退出条件: CONDITION  为true

循环控制语句continue

用于循环体中
 continue [N] :提前结束第N 层的本轮循环,而直接进入下一轮判断;最内层为第1层
while CONDTIITON1; do
        CMD1
        …
if CONDITION2; then
        continue
fi
        CMD2
done

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/71624

(0)
sheweishewei
上一篇 2017-03-25 13:12
下一篇 2017-03-25 22:40

相关推荐

  • MBR

    关于磁盘的使用,必须要弄明白MBR 分区划分方式     centos 6:扇区划分     centos 7:柱面划分 MBR:Master Boot Record:512bytes 0磁道0扇区 512bytes=446bytes(boot loader) + 4*16byt…

    Linux干货 2016-09-05
  • vim用法小结

    vim使用: 使用vi和vim的三种主要模式 : 命令模式,插入模式,扩展模式    扩展模式: w:写入磁盘文件 wq:写入并退出 x:写入并退出 q:退出 q!不存盘退出,即使更改都将丢失 r filename:读文件内容到当前文件中 w filenane: 将当前文件内容写入到另一个…

    Linux干货 2016-08-12
  • Linux基础知识—Vim编辑器/crond周期性任务计划

    vim文本编辑 vim是vi文本编辑的增强版本,因其编辑功能强大、且支持各种语言开发环境关键字自动增亮功能,也可称为是开发工具。在Centos7/RHEL7开始,默认将vi定义成vim –color=auto,已经取代了vi的地位。下面总结下关于vim工具的使用 vim有三种模式,每个模式下有其特定的功能;我们可自由在三者之间切换使用: COMM…

    Linux干货 2016-11-01
  • iptables使用示例

    iptables规则

    2017-10-14
  • bash编程基础(二)补

       bash脚本编程         脚本文件格式:         第一行,顶格:#!/bin/bash         注释信息:#         代码注释:  …

    Linux干货 2016-12-23
  • CetnOS6启动流程以及LVM下的fstab及boot恢复实验

    centos6启动流程 主动读取BIOS,通过CMOS加载硬件信息 ,并进行POST,指定第一个可启动的设备 ROM:BIOS,Basic Input and Output System,保存着计算机系统最重要的基本输入输出程序,系统信息设置,开机加电自检程序RAM:保存各项参数的设定 读取第一个可启动设备MBR的引导加载程序(grub)的启动信息 MBR:…

    Linux干货 2017-05-13