Shell學習(四)迴圈語句while

2021-10-20 21:18:41 字數 2224 閱讀 4991

迴圈語句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 迴圈主要用於無限次的迴圈情況,例如登入認證,你不知道多少次可以登入成功,當然可以認為限制登入次...