Linux学习之路—流程控制语句
if条件测试语句
不多介绍作用,就和平时学的语言的分支结构一样。
语法格式:
if 条件测试操作
then 命令序列
fi
简单例子:
单分支的 if 条件语句来判断/media/cdrom 目录是否存在,若存在就结束条件判
断和整个Shell 脚本,反之则去创建这个目录
vim mkcdrom.sh
#!/bin/bash
DIR="/media/cdrom"
if [ ! -e $DIR ]
then
mkdir -p $DIR
fi
这样一个简单的shell脚本就创建好了
然后运行一下
这里 ls -d /media/cdro 测试,-d 前面也介绍过,测试文件是否未目录类型
同样,讲到这里,学过的其他语言都一般是 if …else 的形式,这里也如此
if 条件测试操作
then 命令序列1
else 命令序列2
fi
这里else 之后就不需要then 来连接命令语句了。
再类推,多分支结构的情况就是
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
这里就不一一举例了,直接上一个书上的例子
用多分支的 if 条件语句来判断用户输入的分数在哪个成绩区间内,然后输出如
Excellent、Pass、Fail 等提示信息。在Linux 系统中,read 是用来读取用户输入信息的命令,
能够把接收到的用户输入信息赋值给后面的指定变量,-p 参数用于向用户显示一定的提示信
息。
for条件循环语句
for循环语句允许脚本一次性读取多个信息,然后逐一对信息进行处理,处理的数据有范围时,使用for循环就十分方便了。
语法结构:
for 变量名 in 取值列表
do
命令序列
done
while条件循环语句
while不同于for的是它并不确定执行的次数,通过判断条件测试的真假来决定是否继续执行命令。真则执行,假则循环结束。
语法格式:
while 条件测试操作
do
命令序列
done
相当于循环的时候对一个if进行判断,多的也不好,就和平时学的语言的一样,注意语法格式就好。
case条件测试语句
与c语言中的switch语句功能相似。
case 语句是在多个范围内匹配
数据,若匹配成功则执行相关命令并结束整个条件测试;而如果数据不在所列出的范围内,
则会去执行星号(*)中所定义的默认命令。
语法结构:
case 变量值 in
模式1)
命令序列1
;;
模式1)
命令序列2
;;
......
*)
默认命令序列
esac
引入书上的一个例子:
计划任务服务程序
这部分后续再补充