分支结构:
if
语句: if then else 提供条件测试
case
语句:允许匹配模式、单词或值
循环结构:
for
:每次依次处理列表内的信息,直至循环耗尽。
until
:条件在循环末尾,至少执行一次。
while
:条件在循环头部。
continue
:继续执行下一次循环。
break
:结束循环,继续执行循环后面的命令。
Shell基本语法-结构化控制命令(分支判断if
)
格式1
if [ 条件 ]
then
命令
fi
或者
格式2
if [ 条件 ] ; then 命令
fi
格式3
if [ 条件 ]
then
命令1
else
命令2
fi
格式4
if [ 条件1 ]
then
命令1
`elif` [ 条件2 ]
then
命令2
else
命令3
fi
分支判断case
case 值 in
模式1)
命令1
;;
模式2)
…
*)
命令n
;;
esac
取值后面必须为单词in,每一个模式必须以右括号结束。
取值可以为变量或常数。取值检测匹配的每一个模式
一旦模式匹配,其间所有命令开始执行直至;;。
执行完匹配模式相应命令后不再继续其他模式。
如果无一匹配模式,使用*号捕获该值。
for
循环
格式1
for 变量名 in 列表
do
命令
done
注意:ls
两边符号是tab键上面的那个
当变量值在列表里,for循环即执行一次所有命令,使用变量名访问列表中取值。for循环可以嵌套使用。
格式2
for ((变量=初始值;条件判断;变量变化))
do
命令
done
从1加到100的值输出显示
#!/bin/bash
s=0
for ((i=1;i<=100;i++))
do
s=$((s+i))
done
echo $s
while
循环
格式
while 条件
do
命令
done
while循环用于不断执行一系列命令,
也用于从输入文件中读取数据。虽然通常只有一个命令,
但在while和do之间可以放几个命令。命令通常用作测试条件,
只有当命令的退出状态为0时,do和done之间命令才被执行,
如果退出状态不是0,则循环终止。
$#
添加到Shell的参数个数
1
~
1~
1~n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
until
循环
until 条件
do
命令
done
until 执行一系列命令,直至条件为真时停止。
break
和continue
利用break和continue可以在for、while、until循环中产生中断。
Break
把控制权转交给done之后的语句,从而跳出循环。
continue
命令把控制权交给done语句,继续执行写一次循环。’
for index in 1 2 3 4 5 6 7 8 9 10
do
echo $index
if[ $index -gt 3 ];then
continue
fi
…
done #如果continue语句变为break?
for循环补充
案例1
案例2