复习shell流程控制语句!

循环遍历文件每一行:流程控制语句

  • 定义一个计数器num
  • 打印num正好是文件行数

定义文件:

aaa 111
bbb 222
ccc 333

1.增强for循环的方式实现:

#! /bin/bash
num=0 #想打印行号,就必须先定义一个行号变量
oldIFS=$IFS
IFS=$'\n'
for i in `cat file.txt`;doecho $i;((num++))
done
echo "num:$num"
IFS=$oldIFS

最后我们执行该文件验证:

[root@node1 shell]# ./readFile.sh
aaa 111
bbb 222
ccc 333
num:3

2.普通for循环实现:

#! /bin/bash
num=0
lines=`cat file.txt | wc -l`
for((i=1;i<=lines;i++));doline=`head -$i file.txt | tail -1`echo $line((num++))
done
echo "num:$num"

3.while方式(<<< 从字符串读;<<指定一个结束标识; <从文件中读)

#! /bin/bash
num=0
while read line;doecho $line((num++))
done <file.txt
echo "num:$num"

4.while结合管道:

#! /bin/bash
num=0
cat file.txt | while read line;doecho $line((num++))
done
echo "num:$num"

这种实现方式,虽然file都读出来了,但是num却输出了0;因为管道“|”,它会创建一个bash位于子进程,不管在子bash中怎么折腾,都不会影响父bash的值。

Shell-流程控制案例相关推荐

  1. 案例1:使用awk提取文本案例2:awk处理条件案例3:awk综合脚本应用案例4:awk流程控制案例5:awk扩展应用

    案例1:使用awk提取文本 案例2:awk处理条件 案例3:awk综合脚本应用 案例4:awk流程控制 案例5:awk扩展应用 1 案例1:使用awk提取文本 1.1 问题 本案例要求使用awk工具完 ...

  2. shell 脚本比较字符串相等_LINUX快速入门第十六章:Shell 流程控制

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?phpif (isset($_GET["q"])) { s ...

  3. Shell——流程控制

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) {s ...

  4. Linux | Shell 学习笔记(二)Shell 流程控制 if、case、for、while| read读取输入 | 函数的使用 | cut、sed、awk、sort命令 +Demo

    文章目录 参考资料 运行环境 一.流程控制 1.1 if 判断 1.2 case 语句 1.3 for 循环 1.4 while 循环 二. read 读取控制台输入 三.函数 3.1 系统函数 ba ...

  5. linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载

    http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...

  6. linux shell 流程控制

    导读 和Java.PHP等语言不一样,linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使 ...

  7. linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使用方法. 一.shell条件语句(if ...

  8. 3.Linux Shell流程控制

    1.if/else结构 if condition thenstatements elif condition thenstatements elsestatements fi 2.条件 与C语言不同的 ...

  9. false shell 判断_六、Shell流程控制-if判断语句

    1. shell中的运算 1.1 数学比较运算 -eq 等于 -ne 不等于 -lt 小于 -gt 大于 -le 小于等于 -ge 大于等于 浮点数的比较建议将数字等比放大至整数进行比较,例如 #比较 ...

  10. Shell——流程控制(if、case、for、while)

    文章目录 一.if语句 1.基本语法 2.注意事项 3.示例演示 三.case语句 1.基本语法 2.注意事项 3.示例演示 二.for循环 1.基本语法 2.示例演示 四.while循环 1.基本语 ...

最新文章

  1. 拜托,面试别再问我时间复杂度了!!!
  2. Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager
  3. JDK9的新特性:String压缩和字符编码
  4. 剧情反转:今年AI要凉!薪资碾压全行,但人才缺500万!
  5. Windows监听进程的两个函数
  6. l开头的英文车标是什么车_行业冷知识 | 为什么汽车品牌都喜欢用动物做车标?...
  7. 计算机在生产作业管理,作业管理
  8. 十五、K8s helm包管理与应用
  9. arm linux 中文输入法,ARM 安装中文输入法
  10. CCNA学习指南第四章
  11. “我是技术总监,我确实答不出那么多技术细节”
  12. Google SketchUp Cookbook: (Chapter 1) Making Multiple Copies
  13. android 网络编程 笔记,【Android 应用开发】Android 网络编程 API笔记
  14. 找出列表中最大或最小的元素-python3
  15. 我的世界java最低配置要求,我的世界需要什么配置
  16. java对接云点播上传视频,视频转码,播放视频,删除视频
  17. 甜椒刷机助手(安卓一键刷机助手) v3.5.1.1 电脑版
  18. 360安全云盘大升级:扔掉U盘 不限制上传下载速度
  19. Unity 2D精灵分割图片注意事项
  20. java生成报文_生成xml报文方法并输出

热门文章

  1. 函数字节不对齐函数崩溃_Excel中统计字符数,不需要一个一个的数,len函数能轻松搞定...
  2. python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...
  3. N35-第九周作业-张同学
  4. 【转】Win7+Ubuntu12.04.1硬盘安装错误及解决方案----不错
  5. windows下使用lighttpd+php(fastcgi)+mysql
  6. @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别...
  7. BUZZER Driver
  8. 开源 免费 java CMS - FreeCMS1.2-标签 mailList
  9. 设计模式——控制反转依赖注入
  10. 数据结构复习:单链表