Linux運維工程師必備:Shell編程中while條件判斷的用法

一、while循環的基本概念

while command
do
    statements
done

使用while循環,當command命令返回真(0)時,執行statements語句,然後再次執行command命令進行判斷,直到command命令返回假(非0)時,跳出循環體。

二、while循環結合read命令實現遍歷文件內容

cat file.txt | while read line
do
    echo $line
done

使用read命令以行為單位遍歷file.txt文件內容,每次讀取一行,賦值給變量line,然後執行echo語句將line變量的值輸出。

三、使用while循環和條件判斷實現自動備份腳本

#!/bin/bash

backup_dir=/backup            #備份目錄
date=$(date +%Y%m%d)          #獲取當前日期

if [ ! -d $backup_dir/$date ] #判斷備份目錄下是否存在當天的備份目錄
then
    mkdir -p $backup_dir/$date #不存在則創建備份目錄
fi

while [ true ]
do
    file_count=$(ls /data | wc -l) #獲取/data目錄下文件數量

    if [ $file_count -gt 100 ]     #如果數量大於100,則備份整個目錄,並退出循環
    then
        tar -czvf /tmp/data-$date.tar.gz /data
        mv /tmp/data-$date.tar.gz $backup_dir/$date
        break
    fi

    sleep 600                      #如果數量不足100,則等待10分鐘(600秒),再次檢查
done

該腳本用於判斷/data目錄下文件數量是否超過100個,如果超過則進行整個目錄的備份,並退出循環。腳本中,使用while循環持續檢查文件數量,如果文件數量不多於100個,則使用sleep命令進入休眠狀態(10分鐘),等待下一輪判斷。

原創文章,作者:KQEI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/135691.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KQEI的頭像KQEI
上一篇 2024-10-04 00:14
下一篇 2024-10-04 00:14

相關推薦

發表回復

登錄後才能評論