linux学习之路之while循环的特殊用法、continue及break的用法

在之前的学习中,我们了解到的while循环形如:

while expression ;do

statement

...

done

这种语法结构的循环只要expression符合条件将执行循环体中的statement,否则就会推出循环。

接下来将介绍两种特殊while循环

while循环特性语法一

while :;do

循环体

done

这种循环没有expression,也就是说没有控制条件,所以使用这种写法的while,会无限循环下去。

为了解决无限循环(死循环)和控制循环过程,我们可以使用continue和break关键字来控制。

continue:表示不执行当前循环中continue后面的语句,直接进入下一轮循环;而且不会退出循环。

break:直接退出循环。

while循环特殊语法二

while read LINE;do

statement

...

done < /PATH/TO/SOMEFILE

这种循环表示依次读取取某个文件的每行,并将其每一行的内容赋值给变量LINE。

linux学习之路之while循环的特殊用法、continue及break的用法

时间: 2024-10-06 08:46:11

linux学习之路之while循环的特殊用法、continue及break的用法的相关文章

linux学习之路之for循环的另一种使用和until循环

之前介绍的for循环的格式形如: for VARNAME in list;do statement ... done 这种格式的for循环是将list中的每一个依次值赋值给变量VARNAME,然后在执行循环体中的语句.当这个list中的没有值复制给变量VARNAME时,该循环也就结束了. 在这里我们在介绍一种类似c语言的for循环 语法格式形如: for ((expre1;expre2;expre3));do    //注意for关键字和小括号有空格 statement ... done 其中小

linux学习之路之使用脚本来复制二进制程序和所需的库文件

首先介绍bash的特殊语法 ${parameter#*word} 其中parameter为变量,word为分隔符,表示从变量最边左字符开始到第一匹配到分隔符(word)之间的字符串都去掉 ${parameter##*word}:表示从变量最左边字符开始到最后一次匹配到该分隔符之间的字符串都去掉 注意:其中变量不要加$符号 当*在分隔符(word)前面时,表示从左开始匹配 当*在分隔符(word)后面时,表示从右开始匹配 ${parameter%word*}:表示从最右边字符开始到第一次匹配到的分

linux学习之路之LVM

试想一种情况,当初我们在规划磁盘的时候,只给某一个磁盘或分区之划分了30G的容量,但是后来,随着业务的需求,该磁盘或者分区的使用量会越来越大,等到以后再有数据存放时,发现该磁盘或者分区的容量不够用,此时该怎么办了?可以新增一个磁盘,经过格式化,挂载等过程就可以使用这个磁盘了,再将原来磁盘的数据完全的复制过来.等到后来又发现,规划的磁盘又太大了,然后又使用上述方法来减少磁盘的大小.虽然这种方法可行,但是效率低,比较复杂.不应该是我们首选的方法. 当然,我们可以这样做,将多个磁盘或者分区(PV)组合

linux学习之路之LVM的快照功能

我们知道LVM可以弹性的调整文件系统的大小,其实LVM除了可以调整文件系统的大小之外,还有另一个功能就是系统快照. 所谓系统快照就是将某一时刻文件系统中的信息记录到快照区中,这里的某一时刻指的是在原始数据被改变的那一瞬间,原始数据会移到快照区里.而其他没有改变的数据,快照区和文件系统共享.所以刚建立快照时快照区内容和文件系统的内容一样. 由于我们知道只有改变的数据才会移动到快照区,因此快照区中保存的内容比较少. 快照区的原理图如下: 那么如何建立快照区呢? 使用lvcreate -s命令来创建快

linux学习之路之磁盘管理和文件系统三

ext3文件系统和ext2文件系统的区别? 在某些时候,某个用户在linux系统上写入数据,这时系统正好断电或者系统核心出现错误,写入的数据仅有inode table和datablock而已,可能会导致之前写过的数据没有保存在磁盘上.而当系统重启后,系统可能会对没有保存的数据进行数据恢复.但是,由于系统并不知道是哪个文件不完整,因此会遍历整个文件系统中inode,来查看block是否完整.不过,当某个文件的数据太大时,数据的恢复时间可能会比较长,而这对于服务器来说是不利的.所以在这种情况下,也就

linux学习之路之vim编辑器的使用

本章将介绍vim编辑器的使用 vim编辑器是vi编辑器的增强版 vim是一种全屏的编辑器,是一种模式化的编辑器,之所以称为模式化的编辑器,因为vim有多种模式. 接下来将介绍vim主要的三种模式: 编辑模式(也叫命令模式):在该模式下你可以完成字符串跳转,字符串删除,翻屏操作等操作 输入模式:在该模式下输入的任何字符都会保存在该文件中,作为文件的一部分 末行模式:在该模式下,可以实现字符串搜索,字符串替换等操作 vim编辑器的三种模式之间的相互转换 模式转换: 编辑模式-->输入模式 i:在当前

linux学习之路之文本的查找---find命令的使用

文本的查找可以使用两种方式来实现,即使用locate命令来查找和find命令来查找 那么这两种方式有什么区别呢? locate:是一种非实时查找,所谓非实时查找就是查找的不够实际,不够精确.因为locate查找是在 系统文件数据库中进行的,而数据库默认是一天更新一次,也就是说你查找的文件再数据库 更新之前查找的话,有可能找不到文件,因为那时数据库还没有去读取硬盘上的文件,所以 有些文件没有写入到数据库中. 可以收到更新数据库,使用命令updatedb 因为不上在硬盘上读取,因此速度快 locat

linux学习之路之sed命令使用

本章主要介绍sed的命令使用 sed(Stream Editor)是一种流编辑器,或者叫做行编辑器,以行为单位进行编辑处理,而后续会介绍的vi编辑器是一种全屏编辑器. sed的工作原理: 逐行读取文件中的每一行,并将其放在内存空间中,在对内存空间中的数据进行处理,将处理后的结果打印到屏幕上.而这种内存空间也叫做模式空间. 所谓模式空间:就是将放在内存空间的数据根据模式来匹配,匹配成功的数据进行相应的编辑处理,将处理后的数据打印到屏幕上去. 说明:sed命令默认将文件中所有的行打印到屏幕上去. s

linux学习之路之目录管理和文件管理

我们知道linux文件系统是一个树型结构,在最上层是'/'目录,根目录的下面就是其他目录,而这些目录下面又可以有多个子目录,这样一层一层的就形成一个树型结构图.那是不是我们查找某一个文件必须要从根目录开始往下查找的呢?当然不是,在这里我将会介绍两种路径方式:相对路径和绝对路径. 什么是相对路径和绝对路径? 绝对路径:就是从'/'根目录开始往下一级一级的查找,直到目的所经过的线路. 相对路径:就是相对当前位置而言来找到目的地所经过的线路. 目录的创建 mkdir:用于创建目录 语法格式:mkdir