颜色显示 我们之前说过echo要支持反斜线的转义的话,用-e选项 \033表示的是ctrl(颜色的符号),然后使用一个左中括号,然后可以控制它的颜色,结束符是\033[0m 基本使用方法 \033[(颜色符号+m,如31m,41,m)(内容)\033[0m 如\033[33mHelloWolrd\033[0m就可以出现HelloWorld是颜色显示的了 1m控制字体的,前景色用3来引导(然后在3后面跟上1-7任意一个,代表不同的颜色,如下图)

红绿黄蓝”玫红”青 背景色用4来表示而如果想一起使用前景色和背景色,那只需要在左中括号写完之后,用分号隔开就可以了,如下图所示

颜色提示:这个对编程提问有用——颜色控制字体显示格式 因此在脚本的时候会比较有用 (其他的如5,是会有闪动的,7是把前景和背景翻过来的)

测试

脚本编程之until循环 while whilecondition ;do statement done 进入循环条件:条件满足 退出循环条件:条件不满足 但是until刚好相反 until CONDITION;do statement ... done 进入循环条件:条件不满足 退出条件:条件满足 因此while什么什么不满足的时候,就可写成until什么什么即可,也更为方便

所以但凡使用while的时候都可以使用until循环 实例

这里上下可以看到,缩减了很多。 因为我们如果是要取得执行状态结果的话,我们完全可以把这个命令当做条件来使用

我们再来进阶学习一下for循环的更高深的知识 原来是 for 变量;do 循环体 done

现在是 for ((expr1 ; expr2 ; expr3 ));do 循环体 done 这个是近似于c语言的风格的 expr1是初始值 expr2是退出循环边界 expr3是对初始值的改变 在双括号里面可以使用<=这些符号的,不像[]中只能用lt,gt这些

所以for循环有些用法在某一些脚本编程会更方便

实例操作

ping ping的-c命令是确定ping多少次 -W是指定timeout

实例操作写一个for循环 [root@manage ~]# vim test.sh #!/bin/bash for ((i=1;i<=15;i++));do ping -c 1 -W 1 172.16.1.${i} &>/dev/null ZhuangT=echo $? if [ $ZhuangT -eq 0 ]; then echo -e "\033[31mThe host "172.16.1.${i}" is up\033[0m" else echo -e "\033[33mThe host "172.16.1.${i}" is down\033[0m" fi done 测试结果