shell流程控制
Posted cp-linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell流程控制相关的知识,希望对你有一定的参考价值。
1、判断
1.1 if语句
if condition;then
command
fi
示例:
#!/bin/bash
if [ `ps -elf | grep -c ssh` -gt 1 ]; then
echo "true"
fi
命令行展示:
if [ `ps -elf | grep -c ssh` -gt 1 ]; then echo "true" ; fi;
1.2 if else语句
if condition ;then
command1
else
command2
fi
1.3 if elif语句
if condition1 ;then
command1
elif condition2 ; then
command2
else
command3
fi
2 、循环
2.1 for
for i in 条件
do
command
done
[root@server0 ~]# for i in {1..5}
[root@server0 ~]# for i in `seq 5`
echo {1..5}
seq 5
都是输出1到5
2.2 while
while 条件 (while : //死循环)
do
command
done
for 和while 的区别:
for 循环有限制 while 循环无限制
3、多选择语句case
case 变量值 in
模式1)
command1;;
模式2)
command2;;
*)
默认命令序列
esac
case 简单,功能少
4、跳出循环
中断[break,continue,exit]
4.1 break结束整个循环
#!/bin/bash
for i in {1..5}
do
[ $i -eq 3 ] && break //当i的值为3直接跳出循环
echo $i
done
echo OK
运行结果:1 2 OK
4.2 continue结束本次循环,跳到下一个循环
#!/bin/bash
for i in {1..5}
do
[ $i -eq 3 ] && continue //当i的值为3跳出本次循环,继续下次循环
echo $i
done
echo OK
运行结果:1 2 4 5 OK
4.3 exit结束脚本
#!/bin/bash
for i in {1..5}
do
[ $i -eq 3 ] && exit //当i的值为3时,结束脚本程序
echo $i
done
echo OK
运行结果:1 2
5、输出颜色
[root@server0 ~]# echo -e " 33[38mOK 33[0m"
[root@server0 ~]# echo -e " 33[34mOK 33[0m"
两次输出的OK的颜色不一样
-e extend(扩展)
3x代表字体色
4x代表背景色
0x代表样式
三个可以写在一起
格式:
[root@server0 ~]# echo -e " 33[34m:44m:01mOK 33[0m"
以上是关于shell流程控制的主要内容,如果未能解决你的问题,请参考以下文章