一、条件判断语法结构
1、if 判断
# 语法
if [ condition ];then
command
command
elif [ condition2 ];then
command
command
else
command
command
fi
# 举例:
[root@TR shells]# if [ '胖太乙' == '太乙假人' ];then echo '胖太乙不是太乙假人' ; elif [ '胖太乙' == '玉皇大帝' ] ; then echo '胖太乙不是玉皇大帝'; else echo '胖太乙是太乙真人' ; fi;
胖太乙是太乙真人
[root@TR shells]#
2、case 判断
# 语法格式
说明:pattern表示需要匹配的模式
case var in 定义变量;var代表是变量名
pattern 1) 模式1;用 | 分割多个模式,相当于or
command1 需要执行的语句
;; 两个分号代表命令结束
pattern 2)
command2
;;
pattern 3)
command3
;;
*) default,不满足以上模式,默认执行*)下面的语句
command4
;;
esac esac表示case语句结束
# 举例说明
#!/bin/bash
read -p '请输入姓名:' text
case $text in
'张三')
echo '张三是个狂徒,离她远一些'
;;
'马云')
echo '这是中国首富,可以跟他混'
;;
'胖太乙')
echo '这是一个菜鸡,不要看他的文章~~~~~~'
;;
*)
echo '查无此人'
;;
esac
二、循环语法结构
1、for 循环
# 语法1
for variable in {list}
do
command
command
…
done
# 语法2
for variable in a b c
do
command
command
done
# 举例说明
[root@TR shells]# for item in 1 2 3 4;do echo $item ;done
1
2
3
4
[root@TR shells]#
2、for 循环不带循环列表
# 语法格式
for variable
do
command
command
…
done
# 举例说明
# 脚本内容如下
[root@TR shells]# cat Demo.sh
#!/bin/bash
for var
do
echo $var
done
# 执行脚本
[root@TR shells]# ./Demo.sh 1 3 5 7 9
1
3
5
7
9
[root@TR shells]#
可以看到, 虽然for 循环没有循环体, 但是确将我们执行执行脚本的参数作为循环体去遍历,如果不传递参数, 默认什么都不输出。
3、类C 风格的循环(本人更喜欢这种风格,和C#很像)
# 举例说明
for (( i=1;i<=5;i++))
do
echo $i
done
# 输出结果
[root@TR shells]# cat Demo.sh
#!/bin/bash
for (( i=1;i<=5;i++))
do
echo $i
done
[root@TR shells]# ./Demo.sh
1
2
3
4
5
[root@TR shells]#
4、while 循环
while循环的条件是“条件为真”
# 语法
while 条件为真
do
执行命令
done
5、until 循环
until循环的条件是“条件为假”
# 语法
until 条件为真
do
执行命令
done
暂无评论