【控制流结构】 --空命令永远为真
========================
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-条件测试及控制流”中,主要涵盖了如何进行条件测试以及如何使用不同的控制流结构来控制脚本的流程。 条件测试是Shell脚本中的关键部分,它允许脚本根据特定的条件执行不同...
5. Ashcroft_Manna 技术是一种将非结构化程序转换为结构化程序的方法,通过引入 DO-CASE 和 DO-UNTIL 语句,以及辅助变量,来替代嵌套的 IF 语句。从例子中我们可以看到,这个技术的基本思路是将复杂的嵌套结构转化...
内容概要:shell脚本入门——流程控制_本文介绍了Shell脚本中几种常用的流程控制结构,包括if语句、case语句、for循环、while循环以及until循环,每种结构都给出了具体的使用场景和实例说明,旨在帮助初学者快速掌握...
IF语句是顺序控制语句的一种,用于根据条件表达式的真假来执行不同的代码块。VHDL中的IF语句可以有多个分支,也可以有可选的ELSE分支。 - 基本的IF语句只包含一个条件和对应的执行块。 - IF-ELSE语句允许在条件不...
- `while` 和 `until` 循环: - `while` 循环执行直到条件变为假。 - `until` 循环执行直到条件变为真。 - `for` 循环: - 可以遍历一系列值。 - 支持数值范围的循环。 #### 文件操作 ```bash for filename in ...
2. 编程结构:文档中出现了多种编程控制结构,如顺序执行("if-then-else"、"case-of"、"do-while"、"repeat-until"),这些是编程中的基本构建块,用于控制程序的执行流程。 3. 软件工具:提及了DFD(数据流图),...
二、控制流结构 之 if then else P68 三、控制流结构 之 case P69 四、控制流结构 之 for循环 P70 五、控制流结构 之 until循环 P71 六、控制流结构 之 while循环 P72 七、控制循环 之 break P73 八、控制循环 之 ...
- ABAP的控制结构:IF-THEN-ELSE,CASE,WHILE,DO-UNTIL等,用于编写逻辑程序。 - ABAP的报告和事务码:编写执行特定任务的报告,事务码是用户在GUI中直接调用的命令。 2. **ABAP程序结构** - 程序的组成:模块...
- 控制结构:包括条件语句(if-else)和循环(for、while、until)。 2. **命令行参数** - `$0`:脚本本身的文件名。 - `$1, $2, ...`:传递给脚本的参数,$1代表第一个参数,以此类推。 3. **输入/输出重定向*...
- 控制结构有IF-ELSE、CASE、WHILE、DO-UNTIL等,用于流程控制。 - SELECT语句用于从数据库中检索数据,UPDATE用于更新记录。 3. **ABAP工作区和内表** - 工作区(WORKAREA)是ABAP中临时存储数据的变量,常用于...
- Ruby提供了丰富的控制流语句,如if、unless、case、while、until等。 - 这些语句允许开发者根据条件执行不同的代码块,实现逻辑分支。 #### 四、内置类与模块 1. **内置基础类** - Ruby提供了许多内置类,如...
- **定义**:顺序结构是最简单的程序控制流结构,按照代码书写的先后顺序依次执行每一行代码。 ##### 3.2 选择结构 - **if-then**:最简单的选择结构,用于实现二选一的情况。当条件为真时执行一条语句或一组语句...
3. 控制结构:文档中提及的“IF-THEN-ELSE”,“DO-WHILE”,“DO-CASE”,“GOTO”,“DO-UNTIL”,“GOTO pad”等都是常见的程序控制结构。这些结构用于在编程中控制算法的执行流程。 4. 程序设计语言(PDL):...
- 控制结构:包括顺序、分支(if、case)、循环(for、while、until、select)。 - 函数:定义、调用函数并传递返回值。 - 命令行参数处理:如`shift`、`getopts`等用于解析和处理命令行参数。 4. **变量** - ...
5. **结构化控制流**:支持if-then-else、case语句、while和for循环,以及do-until结构,强调无goto的结构化编程。 ### JPI.RAR_MODULA COMPILER 特性 1. **DOS兼容**:由于是基于DOS的操作环境,该编译器适用于...
- Shell脚本支持`if-else`、`case`语句进行条件判断,`for`、`while`、`until`循环结构,以及`break`和`continue`控制循环行为。 - 函数定义允许将重复代码封装起来,提高代码复用性,如`function myfunc() { ...
5. **控制结构**:学会使用流程控制结构,如if-elif-else、case、for、while和until,来编写逻辑复杂的脚本。 6. **函数和别名**:创建自定义函数以封装重复的命令序列,使用别名简化常用命令,提升脚本可读性和...