#!/bin/bash
# 注意事项,执行该脚本前应首先声称文件的数字签名日志文件,即md5.log
# 可以使用命令:ls *.c | xargs md5sum > md5.log
if [ ! -f diff.log ]; then
# 生成文件的数字签名
$(ls *.c | xargs md5sum > temp.log)
# 对比文件的数字签名是否发生改变
$(diff md5.log temp.log > diff.log)
# 备份最新的文件数字签名
$(mv temp.log md5.log)
fi
# 获取当前目录下的所有的源文件
files=$(ls *.c)
# 遍历当前目录下的所有源文件
for var in $files
do
# 获取文件的文件名
name=${var%.c}
cat diff.log | grep $name > /dev/null 2>&1
if [ $? == 0 ]; then
echo '文件名为:'$name'的源文件被修改过。'
fi
done
检测某工程下的源文件是否发生过修改并且找出具体的源文件
自动化检测C源文件修改
本文介绍了一种利用bash脚本自动化检测C源文件修改情况的方法。通过对比文件的数字签名,可以快速发现哪些文件被修改过,适用于软件项目的版本控制和变更管理。

被折叠的 条评论
为什么被折叠?



