1.if then else 语句
if 条件1
then 命令1
elif 条件2
then 命令2
else 命令3
fi
if语句必须以单词fi终止,elif 和 else为可选项。
简单的if语句:if 条件
then 命令
fi
使用if语句时,then必须在新行,否则会产生错误,如果不分行,必须采用命令分隔符:
if 条件 ;then
命令
fi
2.if 条件
then
命令1
else
命令2
fi
3.null命令
if语句各部分不能为空——一些语句已经可以这样做。为了解决这个问题,shell提供了: 空命令。空命令永远为真。
4.case语句
case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:
case 值 in
模式1)
命令1
.....
;;
模式2)
命令2
.....
;;
esac
注意:取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,期间所有命令开始执行直至;;
模式部分可能包含元字符,即:
* 任意字符
? 任意单字符
[..]类或范围中任意字符
5.for循环
for循环的一般格式为:
for 变量名in列表
do
命令1
命令2....
done
6.for循环嵌入
for 变量名1 in 列表1
do
for 变量名2 in 列表2
do
命令1
...
done
done
6.until循环
until循环执行一系列命令直至条件为真时停止。其循环格式为:
until 条件
命令1
....
done
条件可以为任意测试条件,测试发生在循环末尾,因此循环至少执行一次
7.while循环
while循环用于不断执行一系列命令,也用于从输入文件中读取数据,其格式为:
while 命令
do
命令1
命令2
....
done
只有当命令的退出状态为0时,do和done之间的命令才能被执行,如果退出状态不是0,则循环终止
8.使用break和continue控制循环
a:break
break命令允许跳出循环。break通常在进行一些处理后退出循环或case语句,如果是在一个嵌入循环里,可以指定跳出循环的个数。
b:continue命令类似于break,但它不会跳出循环,只是跳过这个循环步。