case語句的結(jié)構(gòu)
針對(duì)變量的不同取值,分別執(zhí)行不同的命令序列
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供峽江網(wǎng)站建設(shè)、峽江做網(wǎng)站、峽江網(wǎng)站設(shè)計(jì)、峽江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、峽江企業(yè)網(wǎng)站模板建站服務(wù),十年峽江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
擊鍵類型識(shí)別
提示用戶輸入一個(gè)字符
判斷出該字符是字母,數(shù)字或者其他字符
#!/bin/bash
read -p "請(qǐng)輸入一個(gè)字符:" key
case $key in
[a-z] | [A-Z])
echo "你輸入的是字母"
;;
[0-9])
echo "你輸入的是數(shù)字"
;;
*)
echo "你輸入的是特殊字符"
esac
#!/bin/bash
read -p "請(qǐng)輸入你的成績(jī):" 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
批量添加用戶
將用戶名存放在name.txt文件中,每行一個(gè)
初始密碼均設(shè)為123456
驗(yàn)證腳本
#!/bin/bash
TMP=$(cat /root/name.txt)
for USER in $TMP
do
echo "用戶是$USER"
useradd $USER
echo "123456" | passwd --stdin $USER > /dev/null
done
根據(jù)IP地質(zhì)檢查主機(jī)狀態(tài)
IP地質(zhì)存放在demo04.txt文件中,每行一個(gè)
使用ping命令檢測(cè)各主機(jī)的連通性
#!/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主機(jī)存在"
else
echo "$ip主機(jī)不存在"
fi
done
批量添加用戶
用戶名稱以stu開頭,按數(shù)字順序進(jìn)行編號(hào)
一共添加5個(gè)用戶,即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
猜商品價(jià)格腳本
通過變量RANDOM獲得隨機(jī)數(shù)
提示用戶猜測(cè)并記錄次數(shù),猜中后退出循環(huán)
#!/bin/bash
random=$(expr $RANDOM % 100)
tim=0
while true
do
read -p "請(qǐng)輸入商品的價(jià)格:" jia
let tim++
if [ $jia -eq $random ]
then
echo "恭喜您猜對(duì)了"
echo "您一共猜了$tim"
exit 0
elif [ $jia -lt $random ]
then
echo "您猜的數(shù)小了"
else
echo "您猜的數(shù)大了"
fi
done
#!/bin/bash
i=1
sum=0
while [ $i -le 5 ]
do
echo "進(jìn)入第$i家商店"
read -p "是否進(jìn)入看看(yes/no)" doing
while [ $doing = "yes" ]
do
echo "1:衣服¥200"
echo "2:鞋子¥100"
echo "3:手套¥75"
echo "4:褲子¥150"
read -p "請(qǐng)選擇需要購買的商品序列:" 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ù)進(jìn)行購買(yes/no)" doing
done
let i++
if [ $doing = "no" ]
then
continue
fi
done
echo "購物總價(jià):$sum"
計(jì)算1-50的和值
通過循環(huán)累計(jì)的方式計(jì)算1-50的和值
#!/bin/bash
sum=0
i=0
until [ $i -eq 51 ]
do
let sum+=$i
let i++
done
echo "總數(shù)之和為:$sum"
為指定用戶發(fā)送在線消息
若用戶不在線(未登陸系統(tǒng)),則每5s試一次,直至用戶登錄后在發(fā)送消息
用戶與消息通過為止參數(shù)傳遞給腳本
#!/bin/bash
if [ $# -lt 0 ]
then
echo "Usage:$0 "
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