AmazingCounters.com

Linux就该这么学--Shell脚本条件语句(二)

1.for条件语句

先读取多个不同的变量值,然后逐一执行同一组命令。

从列表文件中读取主机地址,逐个测试是否在线。

从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机IP地址,测试是否能够ping通:

vim ipadds.txt

 内容如下:

192.168.20.6
192.168.20.47
192.168.20.120
localhost

 测试Shell脚本:

#!/bin/bash
HLIST=$(cat /home/ipadds.txt)
for IP in $HLIST
do
ping -c 3 -i 0.2 -W 3 $IP &> /home/jacun/jacun
if [ $? -eq 0 ] ; then
echo "$IP is OK"
else
echo "$IP is Down"
fi
done

 

2.while条件语句

用于重复测试某个条件,当条件成立时则继续重复执行。

随机生成一个0-999的整数,判断并提示用户输入的值过高或过低,只有当用户猜中才结束程序。

脚本中的$RANDOM是一个随机变量,用于在%1000后会得到一个介于0-999的整数后赋值给PRICE变量,while后面的true代表该循环会永远循环执行:

vim DemoRandom.sh

Shell脚本如下:

#!/bin/bash
PRICE=$(expr $RANDOM % 10000)
TIMES=0
echo "手机的价格为0-9999之间,猜猜看是多少?"
while true
do
read -p "请输入你猜测的价格:" INT
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo "恭喜你答对了,实际价格是 $PRICE"
echo "你总共猜测了 $TIMES 次"
exit 0
elif [ $INT -gt $PRICE ] ; then
echo "你猜的太高了"
else
echo "你猜的太低了"
fi
done

 

 

3.case条件语句

可以根据变量的不同取值,分别执行不同的命令动作。

提示用户输入一个字符,判断该字符是字母、数字还是特殊字母。

用户输入一个字符并将其赋值给变量KEY,判断变量KEY为何种字符:

vim DemoKey.sh

 Shell脚本如下:

#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "你输入的是字母"
;;
[0-9])
echo "你输入的是数字"
;;
*)
echo "你输入的是空格、功能键或其他控制字符"
esac

 

 

posted @ 2018-01-05 15:28  jacunjpg  阅读(506)  评论(0编辑  收藏