shell 學習之until語句

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:可能有人會說,你這是什麼玩意額,純屬自娛自樂,寫的程序和實際生產環境一點都不搭嘎,學了有毛用額,對此,我只能笑而不語...... 

相關文章
相關標籤/搜索