1. 定义

关键字:遍历

2. 语法

语法一:

for var in list
docommands
done

语法二:

for var in list;docommands
done

语法三(C语言风格):

for ((i=0;i<10;i++))
docommands
done

注:取值列表有多种取值方式,比如:
  1)可以直接读取in后面的值,默认以空格分隔
  2)列表中的复杂值,可以使用 引号或转义符号"/"加以约束

3. 执行流程描述


各个被遍历的值之间用空格分开

4. 示例

4.1 读取in后面的值,默认以空格分隔

代码示例

#!/bin/bashfor var in a1 b1 c1 d1
doecho "this is $var"
done

#!/bin/bashfor var in a1 b1 c1 d1;doecho "this is $var"
done

执行结果

4.2 读取in后面值,使用 引号加以约束

代码示例

#!/bin/bash
for var in a1 a2 "c1 d1" e2 "hello world"
doecho "this is $var"
done

执行结果

4.3 读取in后面的值,特殊符号使用转义符"/"加以约束

代码示例

#!/bin/bash
for var in a1 b\'1 'c1 d1' e2 'hello world' it\'s a22
doecho "this is $var"
done

执行结果

4.4 从变量中取值

即提前定义列表变量

代码示例

#!/bin/bash
lst="a1 b1 c1 d1"
for var in $lst
doecho "this is $var"
done

执行结果

4.5 从命令中取值

代码示例

#!/bin/bash
for i in `cat ./test.txt`
doecho $i
done

执行结果

由上述结果可以看出,输出结构是以空格为默认分隔符的,那么如何自定义分隔符呢?

4.6 自定义shell分隔符

默认情况下,bash shell 会以空格、制表符、换行符作为分隔符。通过IFS来自定义为分隔符
指定单个字符做分隔符:
IFS=: # 以:冒号作为分隔符
指定多个字符做分隔符:
IFS='\n':;' #定义反斜杠n冒号分号双引号作为字段分隔符

注: $’\n’ 和’\n’ 的区别

IFS='\n' # 将字符 \ 和字符 n 作为IFS的换行符
IFS=$'\n' # 将真正的换行符作为字段分隔符

代码示例

#!/bin/bash
IFS=$'\n'
for i in `cat ./test.txt`
doecho $i
done

执行结果

由上面执行结果可以看出,目前是以换行符作为了分隔符

4.7 C语言风格的for

1) 示例一

代码示例

#!/bin/bash
for ((i=0;i<10;i++))
doecho "num is $i"
done

执行结果

示例二

多个变量,同时输出1-9的升序和降序
代码示例

#!/bin/bash
for ((a=1,b=9;a<10;a++,b--))
doecho "num is $a -- $b"
done

执行结果

for循环语句 for-do-done相关推荐

  1. day1---while循环语句和练习

    1 # -*- coding:utf-8 -*- 2 ''' 3 一.while循环语句: 4 while 条件(可以是比较运算,布尔值等): 5 循环体:(需要包含终止循环语句(否则就是死循环) 6 ...

  2. java for嵌套for循环语句_java中的for循环嵌套语句怎么执行?

    展开全部 控制语句--for:语句的嵌套应用:累加求和,计数器:循环嵌套. 一.语62616964757a686964616fe58685e5aeb931333365646232句的嵌套应用 语句嵌套 ...

  3. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  4. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  5. shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句

    case多分支语句 循环语句 for循环语句 while循环语句 untli循环语句 Shell函数 Shell数组 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 case 变量值 ...

  6. 用c语言循环语句,C语言中循环语句有哪些具体怎么用

    C提供三种基本的循环语句:for语句.while语句和do-while语句. 一.for循环 for循环是开界的. 它的一般形式为: for(;;) 语句; 初始化总是一个赋值语句,它用来给循环控制变 ...

  7. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  8. c语言中floox的头文件,PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句)...

    PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句) 在化工生产中为了分析两个或两个以上参数对生产的影响往往需要进行某些有规律的重复计算.这些计算在程序中可以用赋值 ...

  9. 试过不用循环语句撸代码吗?

    译者按: 通过使用数组的reduce.filter以及map方法来避免循环语句. 原文: Coding Tip: Try to Code Without Loops 译者: Fundebug 为了保证 ...

  10. for循环 lamda python_Python中if-else判断语句、while循环语句以及for循环语句的使用...

    1. if-esle流程判断语句 我们来直接看一个例子,如下,判断我们定义的用户名和用户输入的用户名是否一致.代码当中有几个注意点: 判断的时候用双等号表示判断是否一致(三个等号表示赋值) 你有没有注 ...

最新文章

  1. JQuery插件,轻量级表单模型验证(续 二)
  2. 使用DOSBox编译汇编代码
  3. 07_clickhouse、自定义分区及底层存储合并机制、自定义分区键、分区目录的命名规则、分区目录的合并过程、分区目录的合并过程、分区表达式指定、分区案例
  4. stm8s跳出中断程序c语言,stm8s103 利用中断判断长按短按,长按可以实现进入低功耗 短按1-2s跳出低功耗进入工作,实际情况是短按立马跳出低功耗,请各位大侠帮忙看看。附程序...
  5. TensorFlow实战Google深度学习框架5-7章学习笔记
  6. 陶哲轩对数学学习的一些建议
  7. 数据结构-在O(1)时间删除链表节点
  8. java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy 错误解决办法
  9. 计算机网络设备配置遇到的问题,网络设备使用与维护
  10. 使用HTML5技术控制电脑或手机上的摄像头(转载)
  11. 使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)
  12. 计算机丢失gdiplus黑屏,电脑丢失gdiplus.dll黑屏,黑屏时还自动重启还怎么处理
  13. 天猫轮播代码一秒美工万能淘宝轮播全屏轮播代码教程分享店铺装修全屏代码海报热点1920 居中显示圆点轮播海报
  14. Unity FPS 计算
  15. 带你一起撸一遍 nodejs 常用核心模块(一)
  16. python语言设计二级教程答案2019_全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案...
  17. TCP网络调试助手上提示错误:“1035 未知错误”的有效解决方法,本人实测确实可行
  18. Oracle session active 和 inactive 状态 说明
  19. 《圈外课程学习记录》1.1结构化的特征 1.2表达时主题先行
  20. python只会基础能做什么?---你可以做一个文字游戏!

热门文章

  1. IT猎头的几天生活感想((做IT的一定要看啊~~看了真是。。。)
  2. html 手机端 应用程序,移动端Web开发
  3. 1.1 vlc的集成
  4. Project1,分段切割、区域生长,sample100测试得到的结果没有边缘,但是不连续
  5. 1613-3-傅溥衍 总结《2016年10月7日》【连续第七天总结】
  6. Call of Overloaded Function is ambiguous
  7. 电脑通过一加手机USB共享手机的移动网络
  8. 华为防火墙的基本命令
  9. 赋能互联网在线诊疗, 百度超级链电子处方流转平台获重庆市领导高度赞许
  10. 双系统,XP下一键Ghost,开机进入grub rescue的解决方方法