shell循環控制語句:正則表達式
for、while、until、selectshell
這篇文章咱們來學習下until的用法編程
Note:until語句和while語句正好相反,while語句判斷條件爲真時,進行循環操做bash
而until則是判斷條件爲假時,進行循環操做ide
1、until語法結構oop
until 條件測試
do
命令區域
done學習
2、until常見用法測試
借用case文章中的示例:咱們修改下來使用ui
[root@lovelace case]# cat 2showmenu.sh #!/bin/bash #Version:0.1.1 #Auther:lovelace #pragram:show menu and wait user choice # #difine an function to display the menu showmenu(){ echo -n '+----------' echo -n -e "\033[1;32mshowmenu\033[0m" echo '-----------+' echo -e "| \033[31md|D) show disk information\033[0m |" echo -e "| \033[31mm|M) show memory usage\033[0m |" echo -e "| \033[31ms|S) show swap usage\033[0m |" echo -e "| \033[31mq|Q) quitting\033[0m |" echo -n '+-------------' echo -n -e "\033[5,33mEND\033[0m" echo '--------------+' } #call showmenu function echo showmenu echo #read the argument for user input read -p "Your choice is:" choice #use until statement to loop until [ "$choice" == "q" -o "$choice" == "Q" ];do case $choice in d|D) echo "Disk information:" df -h ;; m|M) echo "Memory information:" free -m | grep "Mem" ;; s|S) echo "Swap information:" free -m | grep "Swap" ;; q|Q) echo "quitting...." exit 8 ;; *) echo "Unknow argument." ;; esac #call showmenu function again echo showmenu echo #read user input again read -p "Please select again:" choice done
總結:從這幾篇文章中能夠看出來,其實每一個語句均可以實現一樣的功能,而有區別的是語句中的判斷條件的不一樣,因此要想熟練的寫出能在實際生產環境中運行的腳本,基礎知識必定要打牢固了,從一系列文章中咱們不能看出幾點:spa
一、基本命令的使用
二、變量的靈活運用
三、shell各類語句的靈活掌握
四、各類條件判斷的掌握
五、正則表達式的掌握(這個在shell編程中相當重要)
六、長期實戰經驗的積累
總的來講:學習shell,三點:多練、多看、多總結
練:儘量和實際生產環境靠攏,由於咱們學習shell不是玩的,而是要實現某種咱們須要的功能的
看:看別人寫的好的腳本,看系統上的腳本,看被你們津津樂道的腳本
總結:在自我練習的過程當中,碰到文件要及時記錄,並查找相關文檔或諮詢他人來破解謎團,看的時候以爲經典的語句或命令要作記錄,以概括總結爲本身的知識。。。。
PS:可能有人會說,你這是什麼玩意額,純屬自娛自樂,寫的程序和實際生產環境一點都不搭嘎,學了有毛用額,對此,我只能笑而不語......