linux shell学习之shell流程控制

在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧。

linux控制流结构学习。

一,shell控制流结构

1.控制结构   6.while循环 
2.if then else语句 7.until循环 
3.case 语句  8.break控制 
5.for循环    9.continue控制

1,if then else 
 if 条件1 如果条件1为真 
 then 那么 
 命令1 执行命令1 
 elif 条件2 如果条件1不成立而条件2成立 
 then 那么 
 命令2 执行命令2 
 else 如果条件1,2均不成立 
 命令3 那么执行命令3 
 fi 完成

2,case语句 
 case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: 
 case 值in 
 模式1 } 
 命令1 
 . . . 
 ; ; 
 模式2) 
 命令2 
 . . . 
 ;; 
 esac

3,for 循环 
 for循环一般格式为: 
 for 变量名in列表 
 do 
 命令1 
 命令2? 
 done 
 当变量值在列表里, for循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的shell命令和语句。变量名为任何单词。in列表用法是可选的,如果不用它, for循环使用命令行的位置参数。in列表可以包含替换、字符串和文件名。

4,while循环 
 while循环用于不断执行一系列命令,也用于从输入文件中读取数据,其格式为: 
 while 命令 
 do 
 命令1 
 命令2 
 . . . 
 done 
虽然通常只使用一个命令,但在while和do之间可以放几个命令。命令通常用作测试条件。
只有当命令的退出状态为0时,do和done之间命令才被执行,如果退出状态不是0,则循环终止。
命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

5,until循环 
until循环执行一系列命令直至条件为真时停止。until循环与while循环在处理方式上刚好相反。
一般while循环优于until循环,但在某些时候—也只是极少数情况下, until循环更加有用。

until循环格式为: 
until 条件 
命令1 
. . . 
done 
条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。

使用break和continue控制循环 
break命令允许跳出循环。break通常在进行一些处理后退出循环或case语句。如果是在一个嵌入循环里,可以指定跳出的循环个数。

例如,如果在两层循环内,用break 2刚好跳出整个循环。 
continue命令类似于break命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步。

时间: 2024-12-22 01:30:36

linux shell学习之shell流程控制的相关文章

shell学习之路:流程控制(for)

for循环的语法: 1.  for 变量 in 值1 值2 值3.... do 程序 done 例如:下列脚本会分别打印4次 分别是morning noon afternoon evening的值 1 #!/bin/bash 2 #打印时间 3 #Author Mrfeng 4 5 for time in morning noon afternoon evening 6 do 7 echo $time 8 done 例如批量解压缩: 1 #!/bin/bash 2 #批量解压缩脚本 3 #Aut

shell学习之路:流程控制(while)

while循环: 介绍:while循环是不定循环,也称作条件循环.只要条件判断成立,循环就会一直继续执行,直到条件判断不成立,循环才会停止,这就是和for的固定循环不太一样了. 1 while [ 条件判断 ] 2 do 3 程序 4 done 示例: 1 [[email protected] bash]# vi while1.sh 2 #!/bin/bash 3 #从1到100 4 i=1 5 s=0 6 while [ $i -le 100 ] ;do 7 s=$(( $s+$i )) 8

shell学习之路:流程控制(if)

1.单分支if条件语句 1 if [ 条件判断式 ];then 2 程序 3 fi 4 或者 5 if [ 条件判断式 ] 6 then 7 程序 8 fi 注意事项: 1.if语句使用fi结尾,和一般语言使用大括号结尾不同 2.[ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格 前后都要有 3.then后面跟符合条件之后执行的程序,可以放在[]之后,用";"分号分割.也可以换行写入,就不需要";"了 例如:判断分区使用率 脚本说明:

Shell学习之Shell特性(一)

Shell学习之Shell特性 目录 命令和文件自动补齐功能 命令历史记忆功能 history.上下键.!number.!string.!$.!! 别名功能 alias.unalias cp.~username/.bashrc.\cp -rf /etc/hosts 快捷键 ^R ^D ^A ^E ^L ^U ^K ^S ^Q 前后台作业控制 输入输出重定向 输入与输出 管道 | tee 命令排序 命令和文件自动补齐功能 这个不说了,我们在输入命令的时候,按tab键补全. 命令历史记忆功能  hi

[Shell]条件判断与流程控制:if, case, for, while, until

-------------------------------------------------------------------------------------------------------- [条件判断] 1. 按文件类型进行判断 -b 文件    判断该文件是否存在,并且为块设备文件(是块设备文件为真) -c 文件    判断该文件是否存在,并且为字符设备文件(是字符设备文件为真) -d 文件    判断该文件是否存在,并且为目录文件(是目录为真) -e 文件    判断该文

Shell常用命令和流程控制

在shell脚本中可以使用三类命令: >>> Unix 命令 <<< 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字操作的. 常用命令语法及功能 echo "some text": 将文字内容打印在屏幕上 ls: 文件列表 wc –l file  wc -w file  wc -c file: 计算文件行数.计算文件中的单词数.计算文件中的字符数 cp sourcefile dest

Shell入门教程:流程控制(1)命令的结束状态

在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环”.不管是哪一种,均需进行条件测试,再根据测试结果,决定程序流程进行的方向. 以下逐一说明这些命令的用法. 第一节:命令的结束状态 Bash Shell Script 可由许多命令组成.每一个命令执行后,都会传回一个结束状态值,如果执行成功,传回0,如果执行失败,则传回非0值.执行失败,也分成许多状

Shell(三)流程控制

Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); } else { // 不做任何事情 } 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else. if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适

Shell学习笔记 - Shell变量

一.变量的命名 变量名必须以字母或下划线开头,由字母.数字.或下划线组成,变量名的长度不能超过255个字符. 二.变量的分类 1. 用户自定义变量 2. 环境变量 3. 位置参数变量 4. 预定义变量 三.用户自定义变量 用户自定义变量是“局部变量”,只能在当前的Shell中生效 1. 定义变量 变量名=变量值 示例: 注意:等号前后不能有空格,否则会出现以下错误提示: 2. 变量调用 $变量名 或 ${变量名} 示例: 3. 变量叠加 示例: 或: 4. 删除变量 unset 变量名 示例: