迴圈語句while
表示式
while 條件語句
do語句1
done
案例一 while條件判斷數字
#!/bin/sh
i = 1;
while [[ $i -lt 10 ]]
doecho $i
((i++))
done
案例二 while逐行讀取某個檔案
#!/bin/sh
while read line
doecho $line
done < /root/test/5.sh
#done < /root/test/5.sh 表示從5.s**件中讀取
案例三,while 無限每秒輸出 hello world
#!/bin/bash
#by author lee_yanyi
while sleep 1
do echo -e "\033[32mhello world.\033[0m"
done
案例四,迴圈列印 1 至 100 數字,expr 用於運算邏輯工具
#!/bin/bash
#by author lee_yanyi
i=0while ((i<=100))
do echo $i
i=`expr $i + 1`
done
案例五,while 迴圈求 1-100 的總和
#!/bin/bash
#by author lee_yanyi
#auto sum 1 100
j=0i=1
while ((i<=100))
do j=`expr $i + $j`
((i++))
done
echo $j
案例六,while 迴圈判斷輸入 ip 正確性
#!/bin/bash
#by author lee_yanyi
#check ip address
read -p "please enter ip address,example 192.168.0.11 ip": ipaddr
echo $ipaddr|grep -v "[aa-zz]"|grep --color -e "([0-9]\.)[0-9]"
while [ $? -ne 0 ]
do read -p "please enter ip address,example 192.168.0.11 ip": ipaddr
echo $ipaddr|grep -v "[aa-zz]"|grep --color -e "([0-9]\.)[0-9]"
done
案例七,每 5 秒迴圈判斷/etc/passwd 是否被非法修改
#!/bin/bash
#check file to change.
#by author lee_yanyi
files="/etc/passwd"
while true
do echo "the time is `date +%f-%t`"
old=`md5sum $files|cut -d" " -f 1`
sleep 5
new=`md5sum $files|cut -d" " -f 1`
if [[ $old != $new ]];then
echo "the $files has been modified."
fidone
案例八,每 10 秒迴圈判斷 root使用者是否登入系統
#!/bin/bash
#check file to change.
#by author lee_yanyi
users="root"
while true
do echo "the time is `date +%f-%t`"
sleep 10
num=`who|grep "$users"|wc -l`
if [[ $num -ge 1 ]];then
echo "the $users is login in system."
fidone
Shell 學習筆記四(迴圈語句)
shell常用的迴圈語句包括 for迴圈 while迴圈 until迴圈。這節主要對這幾種迴圈語句的講解。for迴圈一般格式為 for 變數名 in 列表 docommand1 command2 commandn done 當變數值在列表裡,for迴圈即執行一次所有命令,使用變數名獲取列表中的當前取...
shell迴圈語句
一般的迴圈結構 for 變數名 in 列表 do 迴圈體done 迴圈執行機制 依次將列表中的元素賦值給變數名,每次賦值後執行一次迴圈體,直到列表中的元素耗盡,迴圈結束 一般的迴圈結構 while condition do 迴圈體done condition 迴圈控制條件 進入迴圈之前,先做一次判 ...
shell 迴圈語句
1 shell中的迴圈語句 迴圈語句,主要是為了簡化重複動作 在運維方面主要用於重複某項動作,例如批量建立使用者,在shell中主要有兩種 while迴圈 與 for 迴圈。1 while迴圈 while 迴圈主要用於無限次的迴圈情況,例如登入認證,你不知道多少次可以登入成功,當然可以認為限制登入次...