shell程序流程控制的三大结构:

  1. 顺序结构

  2.选择结构

  3.循环结构

 顺序结构的定义:

  顺序结构的程序设计是最简单的一种结构,它的执行顺序自上而下,依次执行,因此,我们只要按照解决问题的思路依次编写程序即可。

  

  顺序结构程序编写流程:

    1.编写脚本文件,以#!/bin/bash

    2.编写业务程序,顺序编写语句块1、语句块2、语句块3....

交互式输入与输出:

  read命令读取标准输入设备的一行,到新行换行符前的字符作为终止,把读到的字符赋值给变量

  可以结合echo一起实现读取并输出的功能

  read - p “提示信息” 变量

选择结构的定义:

  选择结构是程序中带有判断的一种逻辑结构,只有符合一定的条件,程序体才会被执行

  Linux shell 选择结构分类:

    1.if-then控制结构

    2.case--esac控制结构

      

循环结构的定义:

  for循环

    1.遍历/列表式循环结构

      语法;

        

    seq 命令产生一个数到另一个数之间的所有整数

    seq 10 20

    10 11 12 13 14 15 16 17 18 19 20  

    

    创建不连续序列,手动

    

    2.c语言风格for循环

      

  while循环的结构:

      

      

      

  循环中有两种类型的控制break和continue。

    这是一种无条件流程控制,强制程序跳出当前循环,或跳出当前循环继续执行下一个循环。

    1. break 命令 ,会退出当前的循环并且将控制权传递到本循环的最后面的第一个命令

    2.continue命令 ,当程序执行过程中遇到这个命令,就会忽略本次循环中剩余的命令,将控制权交给循环的顶部

while read line:

    while read line 可以按行读入,一直到所有行都读完,才退出循环,在实际工作中,会经常采用这种循环结构,进行数据的处理

    语法结构:

      cat file.txt | while read line #此处cat也可以是一个产生若干行的命令,如find

      do

        ....

      done

      

      

      

注意:

  while read line循环中的变量,当退出循环后,会被销毁,所以第二次使用循环体中的变量要想其他的方法

  所以文件的行数为0

Linux shell(5)的更多相关文章

  1. Linux Shell(初识)

    什么是Shell:Shell是一个命令解释器. Linux下支持shell的种类: 1.  Bourne Shell(简称sh) 2.C Shell(简称csh) 3.Korn Shell(简称ksh ...

  2. Linux shell(1)

    Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne Again Shell(/bin/bash).C Shell(/usr/bi ...

  3. Linux shell(3)

    shell的运算操作: let整数运算 expr整数运算 bc浮点运算 字符串运算 let命令: let命令让BASH shell 执行算数值的操作,使用let,可以比较两个值或执行加减乘除等这样的算 ...

  4. Linux shell (一)

    echo -e "Hello World! \a \n"     # -e 解析反斜杠 read -p "Please input your first name: &q ...

  5. Linux shell(4)

    test比较两个值: 测试比较两个值是linux中常用的比较运算,test命令可以进行对两个值的比较,如果比较成功则返回值为0,否则为非0 常用比较方法: ·1.整数比较 2.字符串比较 3.逻辑比较 ...

  6. 实现一个简单的 Linux Shell(C++)

    Implement a simple command interpreter in Linux. The interpreter should: support both internal and e ...

  7. Linux入门篇(六)——Shell(二)

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  8. Linux 反弹shell(二)反弹shell的本质

    Linux 反弹shell(二)反弹shell的本质 from:https://xz.aliyun.com/t/2549 0X00 前言 在上一篇文章 Linux反弹shell(一)文件描述符与重定向 ...

  9. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

随机推荐

  1. "添加"模态框中某些数据不被清空

    描述:一般情况下,“添加”的模态框弹出够,其中的输入框等为空,若是此中有某些数据是取自其他页面,不应被清空的,我们应当在html中添加以下内容.   解决方案:在form标签中添加“ preserve ...

  2. 通过yum源在centOS7安装mysql8

    1.去官网下载rpm文件,该文件专门用于yum安装方式: 到官网https://www.mysql.com/downloads/下载社区版Community(针对个人),如下图: 然后拉到最下面,我下 ...

  3. 《面向对象程序设计》六 GUI

    git传送门 我这无药可救的拖延症和懒癌orz 主界面 文件读取界面 提示界面 最初选择vs+mfc,发现许多自动生成的代码读不懂(不须懂),尝试qt后感觉人生迎来了希望,看了推荐的视频与教程稍微了解 ...

  4. 面向对象程序设计__Task6_Calculator1.6.2

    The 4th part of the Calculator program _ Interface 题目链接:第六次作业(计算器第四步) github链接:Calculator_1.6.2 第六次作 ...

  5. 028、HTML 标签2超链接,框架标签

    内容:超链接,框架标签############################################################## <!-- 超链接 --> <a h ...

  6. BZOJ 1076 奖励关 状态压缩DP

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1076 题目大意: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里, ...

  7. Winfrom 使用WCF 实现双工通讯

    实现双工通讯主要分三步. 通信接口的定义: 被调用接口的实现 双工通道的建立 请先引用DLL(CSDN的代码编辑器真尼玛蛋疼) 整个解决方案的结构 1.通信接口的定义: 服务端调用客户端接口IServ ...

  8. JavaScript定时器的工作原理(翻译)

    JavaScript定时器的工作原理(翻译) 标签(空格分隔): JavaScript定时器 最近在看ajax原理的时候,看到了一篇国外的文章,讲解了JavaScript定时器的工作原理,帮助我很好的 ...

  9. Mac svn使用学习-2-服务端

    2.在mac环境下搭建一个SVN服务器环境 1)创建一个名为myCode的仓库——svnadmin命令 格式: svnadmin SUBCOMMAND REPOS_PATH [ARGS & O ...

  10. oracle 查询SQL 的执行速度

    SELECT SE.SID,       OPNAME,       TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' AS PCT_WORK,       ELAPS ...