检测某工程下的源文件是否发生过修改并且找出具体的源文件

#!/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	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值