导图社区 《Linux命令行与shell脚本编程大全》-第13章-更多结构化命令(流程控制)
这是一篇关于更多结构化命令的思维导图,主要内容包括:处理循环输出,控制循环,until,while,for(C Style),for(Linux Style)。
说明,元素、元素的属性、属性的值使用文字的颜色进行区分。黑色文字表示元素的名称、元素节点下的属性用红色文字表示、属性下的蓝色节点表示该属性可取的值。很精简,也很抽象,理解了就可以查的很快。
这是一篇关于docker的思维导图,主要内容包括:volume,plugin,network,container,image。
这是一篇关于Python基础的思维导图,主要内容包括:11-测试代码,10-文件和异常,9-类,8-函数,7-用户输入和while,6-字典,5-if语句,4-操作列表,3-列表简介,2-变量及数据类型,1-起步。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
更多结构化命令
for(Linux Style)
读取列表中的值
for [var] in [list] do [command1] [command2] done
例如: for test in Alibab Tencent Baidu Sinor do echo "The cooperation is $test" done
for每次遍历列表都会将列表中的下一个值赋给$[var],并会一直保持,直到再次修改
读取列表中的复杂值
当表中的每项含有单引号,双引号,空格等特殊字符时,无法正常输出特殊字符
使用引号或转义字符
从变量读取列表
将整个表赋给一个变量,并在循环中引用该表变量作为循环列表
例如: test="i am a fool" for wt in $test do ... done
更改字段分隔符
环境变量IFS:内部字段分隔符(internal field seprartor)
默认情况下的分隔符
空格
换行符
制表符
可以修改其值来更改识别符
例:IFS=$'\n',只识别换行符
一般在脚本中使用右侧所示的方法修改分隔符
IFS.OLD=IFS IFS=$'\n' ... IFS=IFS.OLD
用通配符读取目录
for(C Style)
C语言风格的for循环 for (( i = 0 ; i < 10 ; i++ )) do ... done
使用多个变量: for (( i = 0 , n=10 ; i < 10 ;i++,n-- )) do ... done
while
基本格式
while test command do ... done
指令的退出状态码是0则执行循环体,否则退出循环
使用多个测试命令
while后可跟多个测试命令,但只有最后一个指令的退出状态码被用来退出循环
until
until test command do ... done
指令的退出状态码非0则执行循环体,否则退出循环
与while的执行机制相反
控制循环
break
break 1:退出一层循环
break n:退出第n层循环
continue
continue 1:跳过一层循环中的其余操作,直接开始下一次循环
cintinue n:跳过第n层循环中的剩余操作,直接开始下一层循环
处理循环输出
在循环体的done后面使用重定向符,则可以将循环输出重定向至文件
例如: for file in /home/rich/* do if [ -d "$file" ] echo "$file is a dictory" else echo "$file is a file" fi done > output.txt