尽享科技文章
本博客是一个高端大气上档次的网站

Shell脚本高效率循环检测文件存在性

今天在写Shell代码的时候碰到了一个问题。这个代码需要一个循环检测文件是否存在,如果不存在的话,就从远程下载一个文件来覆盖到本地。

下面就是我写的代码,大家可以参考一下,这个代码使用的Shell里的while循环。

#!/bin/bash

# 循环判断文件是否存在
while [ ! -f /etc/yum.repos.d/CentOS-Base.repo ]; do
echo "文件不存在,正在下载..."
# 下载文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.domain/CentOS/Centos-7.repo
done

echo "文件已存在:/etc/yum.repos.d/CentOS-Base.repo"

在执行这个代码的时候发现了一个问题,没有控制循环速度,导致下载循环了多次,当下载时遇到延迟的时候会多次执行。

那么下面,我们将添加一个延迟函数,让这个程序等待一秒钟再进行下一次循环。代码如下:

sleep 1

现在的代码就是一个比较完善的可用的代码了。

#!/bin/bash

# 循环判断文件是否存在
while [ ! -f /etc/yum.repos.d/CentOS-Base.repo ]; do
echo "文件不存在,正在下载..."
# 下载文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.domain/CentOS/Centos-7.repo
# 等待1秒再进行下一次检查,避免频繁请求
sleep 1
done

echo "文件已存在:/etc/yum.repos.d/CentOS-Base.repo"
赞(0) 打赏
本文为本博客原创,转载请注明原文:https://www.shaobing.hk/89.html

评论 抢沙发

评论前必须登录!

 

探索互联网未来

烧饼博客专注于分享全球科技动态、互联网趋势及编程开发技巧。为您提供最新的业界资讯、搜索优化策略和网站建设方法,助您掌握科技脉搏,领先一步。

隐私政策关于我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册