#!/bin/bash
# 定义需要监视的两个文件或目录
file1="/path/to/file1"
file2="/path/to/file2"
# 初始化两个文件的修改时间为起始时间
mtime1=$(date -r "$file1" "+%s")
mtime2=$(date -r "$file2" "+%s")
# 定义第三个脚本
third_script="/path/to/third_script.sh"
# 无限循环,监视文件或目录是否被修改并执行第三个脚本
while true
do
# 获取两个文件的当前修改时间
new_mtime1=$(date -r "$file1" "+%s")
new_mtime2=$(date -r "$file2" "+%s")
# 如果两个文件的修改时间均大于起始时间并且 新的修改时间与记录的修改时间不同,则执行第三个脚本
if [ $new_mtime1 -gt $mtime1 ] && [ $new_mtime2 -gt $mtime2 ] && [ $new_mtime1 -ne $mtime1 ] && [ $new_mtime2 -ne $mtime2 ]; then
bash $third_script
echo "两个文件已修改,已执行第三个脚本"
# 更新修改时间
mtime1=$new_mtime1
mtime2=$new_mtime2
fi
# 暂停2秒,避免资源消耗过大
sleep 2
done
此脚本定义了需要监视的两个文件或目录的路径并记录了它们的修改时间。利用无限循环实时监视两个文件的修改,并比较两个文件的当前修改时间是否与记录的修改时间不同。只有当两个文件的修改时间都大于起始时间并且新的修改时间与记录的修改时间不同,才会执行第三