TOC

Shell 循环执行

根据《今天我靠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