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[38mOK33[0m"
[root@server0 ~]# echo -e "33[34mOK33[0m"
两次输出的OK的颜色不一样
-e extend(扩展)
3x代表字体色
4x代表背景色
0x代表样式
三个可以写在一起
格式:
[root@server0 ~]# echo -e "33[34m:44m:01mOK33[0m"

以上是关于shell流程控制的主要内容,如果未能解决你的问题,请参考以下文章

Shell 流程控制

shell--8Shell 流程控制

shell流程控制

Shell编程 流程控制——流程控制语句

Shell 学习--流程控制

Shell 流程控制