8、腳本顏色顯示(看命令echo更全)和util循環和for循環中級用法
阿新 • • 發佈:2018-03-30
util循環 for循環顏色顯示
我們之前說過echo要支持反斜線的轉義的話,用-e選項
\033表示的是ctrl(顏色的符號),然後使用一個左中括號,然後可以控制它的顏色,結束符是\033[0m
基本使用方法
\033[(顏色符號+m,如31m,41,m)(內容)\033[0m
如\033[33mHelloWolrd\033[0m就可以出現HelloWorld是顏色顯示的了
1m控制字體的,前景色用3來引導(然後在3後面跟上1-7任意一個,代表不同的顏色,如下圖) (其他的如5,是會有閃動的,7是把前景和背景翻過來的)
原來是
for 變量;do
循環體
done ZhuangT=
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
測試結果
我們之前說過echo要支持反斜線的轉義的話,用-e選項
\033表示的是ctrl(顏色的符號),然後使用一個左中括號,然後可以控制它的顏色,結束符是\033[0m
基本使用方法
\033[(顏色符號+m,如31m,41,m)(內容)\033[0m
如\033[33mHelloWolrd\033[0m就可以出現HelloWorld是顏色顯示的了
1m控制字體的,前景色用3來引導(然後在3後面跟上1-7任意一個,代表不同的顏色,如下圖)
紅綠黃藍”玫紅”青
背景色用4來表示而如果想一起使用前景色和背景色,那只需要在左中括號寫完之後,用分號隔開就可以了,如下圖所示
顏色提示:這個對編程提問有用——顏色控制字體顯示格式
因此在腳本的時候會比較有用
測試
腳本編程之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
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
測試結果
8、腳本顏色顯示(看命令echo更全)和util循環和for循環中級用法