一、用until實現下列作業
1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統。
#!/bin/bash
until who | grep "^\<hacker\>" > /var/log/login.log && echo "you must logout" | write jack
do
sleep 3s
done
2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出
#!/bin/bash
declare -i r=$(($RANDOM%10))
declare -i n=10000000000000000
until [ "$n" -eq "$r" ] && echo "you are so clear"
do
read -p "you can guess a number[0-10]:" n
if [ "$n" -gt "$r" ]
then
echo "you guess great"
elif
[ "$n" -lt "$r" ]
then
echo "you guess less"
fi
done
3、編寫腳本,求100以內所有正整數之和
#!/bin/bash
declare -i i=1
declare -i sum=0
until [ $i -eq 101 ] ; do
sum=$[$sum+$i]
i=$[$i+1]
done
echo "sum1..100:$sum"
4、編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。
#!/bin/bash
declare -i i=1
declare -i y=0
declare -i n=0
until [ $i -eq 255 ];do
ping -c 1 -W 1 10.1.252.$i &> /dev/null && y=$[$y+1] || n=$[$n+1]
i=$[$i+1]
done
echo "ping up:$y"
echo "ping down:$n"
5、編寫腳本,打印九九乘法表
#!/bin/bash
i=1
until [ $i -ge 10 ]; do
j=1
until [ $j -gt $i ];do
echo -ne ""$j"x"$i"=$[$i*$j]\t"
j=$[$j+1]
done
i=$[$i+1]
echo
done
6、編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者
until做法:
#!/bin/bash
MAX=$RANDOM MIN=$MAX i=1
until [ $i -ge 11 ] ; do
n=$RANDOM
i=$[$i+1]
[ $MAX -ge $n ] && MAX=$MAX || MAX=$n
[ $MIN -le $n ] && MIN=$MIN || MIN=$n
echo $n
done
echo "MAX=$MAX"
echo "MIN=$MIN"
while做法:
#!/bin/bash
i=1 a=$RANDOM
echo $a
b=$a
while [ $i -le 9 ];do
n=$RANDOM
echo $n
i=$[$i+1]
[ $n -gt $a ] && a=$n || a=$a
[ $n -lt $b ] && b=$n || b=$b
done
echo "MAX $a"
echo "MIN $b"
7、編寫腳本,實現打印國際象棋棋盤
until做法:
#/bin/bash
i=1
until [ $i -gt 9 ];do
j=1
until [ $j -gt 9 ];do
[ $[$[$i+$j]%2] -eq 0 ] && echo -en "\033[41m \033[0m" || echo -en "\033[46m \033[0m"
j=$[$j+1]
done
i=$[$i+1]
echo
done
for做法:
#/bin/bash
for i in {1..8}
do
for j in {1..8}
do
if [ $j -lt 8 ] ; then
[ "$[$[$i+$j]%2]" -eq 0 ] && echo -en "\033[41m \033[0m" || echo -en "\033[45m \033[0m"
else
[ "$[$[$i+$j]%2]" -eq 0 ] && echo -e "\033[41m \033[0m" || echo -e "\033[45m \033[0m"
j=j++
fi
done
i=i++
done
原創文章,作者:zebra930,如若轉載,請注明出處:http://www.www58058.com/37131