AbnerKou 2017-03-26 12:54 采纳率: 100%
浏览 1148
已结题

对某个文件实用md5产生校验码重定向到所指文件中,再对这些文件md5校验。但是md5sum时出错了

 #!/bin/bash
#
dbfile=datafile.md5
set_up_dbase()
{
    echo ""$directory""> "$dbfile"
    md5sum "$directory/*" >> "$dbfile"
}
check_dbase()
{
    local n=0
    if [ ! -r "$dbfile" ]
    then
        echo "Unable to read checksum database file!"
        exit
    fi
    while read record[n]
    do
        directory_ckecked="${record[0]}"
        if [ "$directory_checked"! = "$directory" ]
        then
            echo "Directories do not match up!"
            exit
        fi
        if [ "$n" -gt 0 ]
        then
            filename[n]=$(echo ${record[$n]}|awk 'print $2')
            checksum[n]=$(md5sum "${filename[n]}")
            if [ "${record[n]}"="${checksum[n]}" ]
            then
                echo "${filename[n]}uncharged."
            elif [ "`basename ${filename[n]}`"!="$dbfile" ]
            then
                echo "${filename[n]}:checksum error!"
            fi
        fi
        let "n+=1"
        done < "$dbfile"
}
if [ -z "$1" ]
then
    directory="$PWD"
else
    directory="$1"
fi
echo "Running file integrity check on $directory"
echo
if [ ! -r "$dbfile" ]
then
    echo " setting up database file $directory"
    echo 
    set_up_dbase
fi
check_dbase
exit 0

图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 idea运行测试代码报错问题
    • ¥15 网络监控:网络故障告警通知
    • ¥15 django项目运行报编码错误
    • ¥15 请问这个是什么意思?
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
    • ¥15 模糊pid与pid仿真结果几乎一样
    • ¥15 java的GUI的运用
    • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。