一、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