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. Finding the source of signals on Linux with strace, auditd, or systemtap

    inux and UNIX® like operating systems commonly use signals to communicate between processes. The use ...

  2. Windows10 家庭版没有本地组策略解决方法

    windows 家庭版默认是没有本地组策略的, win+R运行gpedit.msc提示不存在 下面的代码保存一个cmdorbat 脚本文件add_gpedit.cmd, 并执行 add_gpedit. ...

  3. It was not possible to find any compatible framework version

    It was not possible to find any compatible framework version The specified framework 'Microsoft.NETC ...

  4. Netty入门(三)构成部分

    该节主要讲解 Netty 的构成部分. 一.Channel 它代表一个用于连接到实体如硬件设备.文件.网络套接字或程序组件,能够执行一个或多个不同的 I/O 操作的开放连接.可以比作传入和传出数据的传 ...

  5. 问题解决:Apache: You don't have permission to access / on this server

    虚拟主机(Virtual Host)是指在一个机器上运行多个网络站点 (比如:www.company1.com和www.company2.com). 如果每个网络站点拥有不同的IP地址,则虚拟主机可以 ...

  6. 更改Apache默认起始(索引)页面:DirectoryIndex

    Apache默认索引页面是index.html,修改成其他文件需要修改httpd.conf文件: # # DirectoryIndex: sets the file that Apache will ...

  7. memcached未授权

    memcached未授权 漏洞成因: Memcached端口是对外开放的,用nc或Telne可以直接登录,查看信息,增加修改都可以. nc -vv 1.2.3.4 11211 telnet 1.2.3 ...

  8. linux网络工具iproute2的使用简介

    一.写本文的目的 本文完全是自己在学习iproute2的过程中搜集的大杂烩,记录在这里,方便以后自己查询学习,图片都是来自网络,在此表示感谢! 二.简单了解iproute2工具套装 iproute2是 ...

  9. PAT B1027 打印沙漏 (20 分)

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两 ...

  10. 关于PLC高速计数器使用

    今天去面试问我高速计数器,因为没用过,所以直接说--不会.但是自己感觉自己自学电气,说不会太丢人了,所以今天学了PLC的高速计数器.虽然没有书,但是有度娘,还有现成的PLC设备实际检验程序,更有鹏哥和 ...