1. if 条件语句:if…then/if…elif…fi/if… else…fi
if [条件判断逻辑1];then
command1
elif [条件判断逻辑2];then
command2
else
command3
fi
- 上面多个语句写在一行的话需要使用
;
分隔。 fi
是if
的字母反过来写,代表结束if
代码块。- 条件逻辑判断参照: [链接]: http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html (Linux shell 逻辑运算符、逻辑表达式详解)
2. while 循环语句
while 条件语句;do
command
done
3. until 循环语
until 条件判断语句
do
command
done
until 条件判断语句;do
command
done
直到满足条件就退出,否则继续执行。
4. for 循环语句(两种形式)
for.. in
形式
for 变量 in Seq;do #注意有;do
command
done #注意有done
for(x;y;z)
形式
for(变量初始化;循环条件;更新变量);do
command
done
双开号不是单括号
#!/bin/bash
for((i=1;i<=10;i++));
do
echo $(expr $i \* 3 + 1);
done
5. case 选择语句
#!/bin/bash
case $1 in
匹配变量1) #注意有括号
command1
;; #注意;;
匹配变量2) #注意括号
command2
;; #注意;;
*) #注意括号
command3
;; #注意;;
esac #反写case
例子:
#!/bin/bash
case $1 in
redhat)
echo "fedora"
;;
fedora)
echo "redhat"
;;
*)
echo "/root/foo.sh redhat:fedora"
;;
esac
在while 、until、for中都有;do在同一行
如果do换行,就不需要再保留;
while 条件语句;do
command
done
while 条件语句
do
command
done
在if中 ,then 与if,elif不同行也可以,不保留;
if [条件判断逻辑1];then
command1
if [条件判断逻辑1]
then
command1