一、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/n/135691.html