Shell編程——case語句與循環(huán)語句(3)-創(chuàng)新互聯(lián)

case多分支語句

case語句的結(jié)構(gòu)
針對變量的不同取值,分別執(zhí)行不同的命令序列

Shell編程——case語句與循環(huán)語句(3)

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)三沙,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

實例1

 擊鍵類型識別
   提示用戶輸入一個字符
   判斷出該字符是字母,數(shù)字或者其他字符
#!/bin/bash
read -p "請輸入一個字符:" key
case $key in
[a-z] | [A-Z])
    echo "你輸入的是字母"
     ;;
[0-9])
    echo "你輸入的是數(shù)字"
    ;;
*)
    echo "你輸入的是特殊字符"
esac

Shell編程——case語句與循環(huán)語句(3)

實例2

輸入成績,查看成績等級

#!/bin/bash
read -p "請輸入你的成績:" num
case $num in
[8-9][0-9]|100)
    echo "優(yōu)秀"
    ;;
7[0-9])
    echo "良好"
    ;;
6[0-9])
    echo "合格"
    ;;
[0-9]|[1-5][0-9])
    echo "不合格"
    ;;
*)
    echo "您輸入有誤"
esac

Shell編程——case語句與循環(huán)語句(3)

for語句的結(jié)構(gòu)

讀取不同的變量值,用來逐個執(zhí)行同一組命令

Shell編程——case語句與循環(huán)語句(3)

實例1

 批量添加用戶
 將用戶名存放在name.txt文件中,每行一個
 初始密碼均設(shè)為123456
 驗證腳本

Shell編程——case語句與循環(huán)語句(3)

#!/bin/bash
TMP=$(cat /root/name.txt)
for USER in $TMP
do
        echo "用戶是$USER"
        useradd $USER 
        echo "123456" | passwd --stdin $USER > /dev/null
done

Shell編程——case語句與循環(huán)語句(3)

實例2

 根據(jù)IP地質(zhì)檢查主機狀態(tài)
 IP地質(zhì)存放在demo04.txt文件中,每行一個
 使用ping命令檢測各主機的連通性

Shell編程——case語句與循環(huán)語句(3)

#!/bin/bash
IP=$(cat /root/demo04.txt)
for ip in $IP
do
  ping -c 1  -s 1 -w 3 $ip > /dev/null
 if [ $? -eq 0 ]
 then
   echo "$ip主機存在"
 else
   echo "$ip主機不存在"
 fi
done

Shell編程——case語句與循環(huán)語句(3)

while語句的結(jié)構(gòu)

重復(fù)測試某個條件,只要條件成立則反復(fù)執(zhí)行

Shell編程——case語句與循環(huán)語句(3)

實例1

 批量添加用戶
 用戶名稱以stu開頭,按數(shù)字順序進行編號
 一共添加5個用戶,即stu1,stu2,stu3...
 初始密碼均設(shè)為123456
#!/bin/bash
num=1
while [ $num -le 5 ]
do
useradd stu$num
  echo "123456" | passwd --stdin stu$num &> /dev/null
  let num++
done

Shell編程——case語句與循環(huán)語句(3)

實例2

 猜商品價格腳本
 通過變量RANDOM獲得隨機數(shù)
 提示用戶猜測并記錄次數(shù),猜中后退出循環(huán)
#!/bin/bash
random=$(expr $RANDOM % 100)
tim=0
while true
do
 read -p "請輸入商品的價格:" jia
 let tim++
 if [ $jia -eq $random ]
 then
  echo "恭喜您猜對了"
  echo "您一共猜了$tim"
 exit 0
 elif [ $jia -lt $random ]
 then
  echo "您猜的數(shù)小了"
 else
  echo "您猜的數(shù)大了"
 fi
done

Shell編程——case語句與循環(huán)語句(3)

綜合實例

進入五家商店分別購買商品,最后查看消費總額
#!/bin/bash
i=1
sum=0
while [ $i -le 5 ]
do
  echo "進入第$i家商店"
  read -p "是否進入看看(yes/no)" doing
  while [ $doing = "yes" ]
    do
       echo "1:衣服¥200"
       echo "2:鞋子¥100"
       echo "3:手套¥75"
       echo "4:褲子¥150"
       read -p "請選擇需要購買的商品序列:" num
       case $num in
           1)
             echo "衣服購買成功"
             expr $[sum+=200] &> /dev/null
           ;;
           2)
             echo "鞋子購買成功"
             expr $[sum+=100] &> /dev/null
           ;;
           3)
             echo "手套購買成功"
             expr $[sum+=75] &> /dev/null
           ;;
           *)
             echo "褲子購買成功"
             expr $[sum+=150 &> /dev/null
      esac
      read -p "是否繼續(xù)進行購買(yes/no)" doing

   done
   let i++
   if [ $doing = "no" ]
     then
     continue
   fi
done
   echo "購物總價:$sum"

Shell編程——case語句與循環(huán)語句(3)

until語句的結(jié)構(gòu)

重復(fù)測試某個條件,只要條件不成立則反復(fù)執(zhí)行

Shell編程——case語句與循環(huán)語句(3)

實例1

 計算1-50的和值
 通過循環(huán)累計的方式計算1-50的和值
#!/bin/bash
sum=0
i=0
until [ $i -eq 51 ]
do
  let sum+=$i
  let i++
done
echo "總數(shù)之和為:$sum"

Shell編程——case語句與循環(huán)語句(3)

實例2

 為指定用戶發(fā)送在線消息
 若用戶不在線(未登陸系統(tǒng)),則每5s試一次,直至用戶登錄后在發(fā)送消息
 用戶與消息通過為止參數(shù)傳遞給腳本
#!/bin/bash
if [ $# -lt 0 ]
then
  echo "Usage:$0 <user><message>"
  exit 1
fi
grep "$1" /etc/passwd &> /dev/null
if [ $? -eq 0 ];then :
else
  echo "用戶不存在"
fi
until who|grep "$1" > /dev/null
do
 echo "用戶不在線"
 sleep 5
done
echo $2 | write $1

Shell編程——case語句與循環(huán)語句(3)
Shell編程——case語句與循環(huán)語句(3)

謝謝閱讀?。?!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標題名稱:Shell編程——case語句與循環(huán)語句(3)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://muchs.cn/article2/pcooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷定制網(wǎng)站、App設(shè)計建站公司、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)