根据《今天我靠chatgpt早下班2小时!太强了!》整理:
#!/bin/bash
# 锁文件路径
lockfile="/tmp/my.lock"
function cleanup {
echo "清理锁文件"
rm -f "$lockfile"
exit 1
}
# 注册清理函数,确保无论脚本如何退出都会执行
trap cleanup EXIT
if [ -e "$lockfile" ]; then
echo "WARNING: 另一个实例正在运行!"
else
touch "$lockfile"
echo "脚本开始执行"
while true; do
sh a.sh
sleep 300 # 5分钟的间隔时间,单位为秒
done
rm "$lockfile"
echo "脚本退出执行"
fi