`
185800961
  • 浏览: 7009 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

if-while-case-for-until控制流

 
阅读更多

【控制流结构】 --空命令永远为真

 

========================

if  expresion

   then [:]

       command1

   elif  command2

 else

       command3

 fi

       command4

========================

 

copyfile:

 

#!/bin/sh

#copyfile

if cp surfile desfile.bak

 then echo "haved copy"

else

 echo "`basename $0`:error could not copy the files">%2

fi

 

$ sh copyfile

 haved copy

----------------------------------------------------

#!/bin/sh

#copyfile

if cp nothisfile  desfile.bak >/dev/null 2>&1  --不在屏幕显示

then [:]

 echo "haved copy"

else

 echo "`basename $0`:error could not copy the files">&2

fi

 

$ sh copyfile

copyfile:error could not copy the files

----------------------------------------------------

filename=text.txt

if [ ! -w "$filename" ]  --判断文件 text.txt 为不可写文件

 

if [ $# -lt 3]  --调用传入脚本的参数个数小于3

 

if [ -t ]  --test返回值为1,则为交互模式(终端模式)

 

if [ -z $EDITOR ] --环境变量$EDITOR是否为空变量

 

$ ["$DIRECTORY" = ""]  --环境变量$DIRECTORY是否为空变量

 

if [ -z $LOGNAME = "root" ]  --登录账户为非root账户

 

----------------------------------------------------

========================

case [value] in

  mod1)

     command1

   ;;

  mod2)

     command2

   ;;

   ……

esac

========================

    *   任意字符。

    ?   任意单字符。

    [..]    类或范围中任意字符

----------------------------------------------------

#!/bin/sh

#text

echo -n "Enter a number from 1 to 5 :"

read ANS

 case $ANS in

 1) echo "You select 1"

 ;;

 2) echo "You select 2"

 ;;

 3) echo "You select 3"

 ;;

 4) echo "You select 4"

 ;;

 5|6) echo "You select 5/6"

 ;;

 yes|y) echo "You select 4"

 ;;

 *) echo "`basename $0 ` : This is not between 1 and 5 ">&2

 [break]

 exit 1

 ;;

esac

 

$ sh text

 Enter a number from 1 to 5 :3

 You select 3

$ sh text

 Enter a number from 1 to 5 :8

 text : This is not between 1 and 5

----------------------------------------------------

========================

for varname in list

do

 command1

 command2

 ...

done

========================

#!/bin/sh

#text

for loop in 1 2 3 4 5

do

 echo $loop

done

 

$ sh text

1

2

3

4

5

----------------------------------------------------

for loop in "orange red blue grey"

do echo $loop ; done        --打印字符串列表

----------------------------------------------------

for loop in `ls`

do echo $loop ; done        --打印当前ls的内容

----------------------------------------------------

========================

for varname in list1

 do

  for  varname2 in list2

  do

     command1

     command2

     ……

 done

done

========================

until format:

until condition

     command1

     command2

     ……

done

========================

while command

 do

   cammand1

   command2

   ……

done

========================

#!/bin/sh

#text

count=0

while [ $count -lt 5 ]

do

 count=`expr $count + 1 `

 echo $count

done

----------------------------------------------------

#!/bin/sh

#text

echo -n "enter your most liked film"

while read film

do

 echo "Yeah,great film the $film"

done

----------------------------------------------------

分享到:
评论

相关推荐

    Linux详细教程大全之shell脚本基础2-条件测试及控制流.docx

    在“Linux详细教程大全之shell脚本基础2-条件测试及控制流”中,主要涵盖了如何进行条件测试以及如何使用不同的控制流结构来控制脚本的流程。 条件测试是Shell脚本中的关键部分,它允许脚本根据特定的条件执行不同...

    20212122234 杨斯媛软工第六章.docx

    5. Ashcroft_Manna 技术是一种将非结构化程序转换为结构化程序的方法,通过引入 DO-CASE 和 DO-UNTIL 语句,以及辅助变量,来替代嵌套的 IF 语句。从例子中我们可以看到,这个技术的基本思路是将复杂的嵌套结构转化...

    shell脚本入门-流程控制-Shell脚本中常用流程控制机制及其应用介绍

    内容概要:shell脚本入门——流程控制_本文介绍了Shell脚本中几种常用的流程控制结构,包括if语句、case语句、for循环、while循环以及until循环,每种结构都给出了具体的使用场景和实例说明,旨在帮助初学者快速掌握...

    第10章 VHDL基本语句.pdf

    IF语句是顺序控制语句的一种,用于根据条件表达式的真假来执行不同的代码块。VHDL中的IF语句可以有多个分支,也可以有可选的ELSE分支。 - 基本的IF语句只包含一个条件和对应的执行块。 - IF-ELSE语句允许在条件不...

    shell编程讲座shell编程讲座

    - `while` 和 `until` 循环: - `while` 循环执行直到条件变为假。 - `until` 循环执行直到条件变为真。 - `for` 循环: - 可以遍历一系列值。 - 支持数值范围的循环。 #### 文件操作 ```bash for filename in ...

    自考软件工程简答小抄.pdf

    2. 编程结构:文档中出现了多种编程控制结构,如顺序执行("if-then-else"、"case-of"、"do-while"、"repeat-until"),这些是编程中的基本构建块,用于控制程序的执行流程。 3. 软件工具:提及了DFD(数据流图),...

    SHELL流程控制

    二、控制流结构 之 if then else P68 三、控制流结构 之 case P69 四、控制流结构 之 for循环 P70 五、控制流结构 之 until循环 P71 六、控制流结构 之 while循环 P72 七、控制循环 之 break P73 八、控制循环 之 ...

    电力公司sap培训资料

    - ABAP的控制结构:IF-THEN-ELSE,CASE,WHILE,DO-UNTIL等,用于编写逻辑程序。 - ABAP的报告和事务码:编写执行特定任务的报告,事务码是用户在GUI中直接调用的命令。 2. **ABAP程序结构** - 程序的组成:模块...

    Linux与Unix下shell编程指南

    - 控制结构:包括条件语句(if-else)和循环(for、while、until)。 2. **命令行参数** - `$0`:脚本本身的文件名。 - `$1, $2, ...`:传递给脚本的参数,$1代表第一个参数,以此类推。 3. **输入/输出重定向*...

    abap学习资料.zip

    - 控制结构有IF-ELSE、CASE、WHILE、DO-UNTIL等,用于流程控制。 - SELECT语句用于从数据库中检索数据,UPDATE用于更新记录。 3. **ABAP工作区和内表** - 工作区(WORKAREA)是ABAP中临时存储数据的变量,常用于...

    Ruby for Rails

    - Ruby提供了丰富的控制流语句,如if、unless、case、while、until等。 - 这些语句允许开发者根据条件执行不同的代码块,实现逻辑分支。 #### 四、内置类与模块 1. **内置基础类** - Ruby提供了许多内置类,如...

    Delphi数据库开发完美教程 第3章 Delphi的语法基础

    - **定义**:顺序结构是最简单的程序控制流结构,按照代码书写的先后顺序依次执行每一行代码。 ##### 3.2 选择结构 - **if-then**:最简单的选择结构,用于实现二选一的情况。当条件为真时执行一条语句或一组语句...

    软件工程复习大纲(2).pdf

    3. 控制结构:文档中提及的“IF-THEN-ELSE”,“DO-WHILE”,“DO-CASE”,“GOTO”,“DO-UNTIL”,“GOTO pad”等都是常见的程序控制结构。这些结构用于在编程中控制算法的执行流程。 4. 程序设计语言(PDL):...

    第10章 Shell脚本编程1

    - 控制结构:包括顺序、分支(if、case)、循环(for、while、until、select)。 - 函数:定义、调用函数并传递返回值。 - 命令行参数处理:如`shift`、`getopts`等用于解析和处理命令行参数。 4. **变量** - ...

    jpi.rar_modula compiler

    5. **结构化控制流**:支持if-then-else、case语句、while和for循环,以及do-until结构,强调无goto的结构化编程。 ### JPI.RAR_MODULA COMPILER 特性 1. **DOS兼容**:由于是基于DOS的操作环境,该编译器适用于...

    SHELL脚本编程一本入门级的脚本编程教材、文档、资料

    - Shell脚本支持`if-else`、`case`语句进行条件判断,`for`、`while`、`until`循环结构,以及`break`和`continue`控制循环行为。 - 函数定义允许将重复代码封装起来,提高代码复用性,如`function myfunc() { ...

    shell脚本学习指南中文版高清pdf

    5. **控制结构**:学会使用流程控制结构,如if-elif-else、case、for、while和until,来编写逻辑复杂的脚本。 6. **函数和别名**:创建自定义函数以封装重复的命令序列,使用别名简化常用命令,提升脚本可读性和...

Global site tag (gtag.js) - Google Analytics