|
小弟最近在学着写shell程序,可是写出来了就是一直测试不过,都快疯了!
请大虾们帮小弟看看这个shell程序到底有些什么问题
md5check.sh
- #!/bin/sh
- PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/mysql/bin
- TODAY=`date`
- file1=/etc/passwd
- file2=/etc/services
- file3=/etc/rc.local
- md5_home=/root/test
- I=1
- N=3
- md5_file ()
- {
- filename=`basename $1`
- if [! -f "$md5_home/$filename.md5"] ;
- then
- md5sum $1 > $md5_home/$filename.md5;
- fi
- return 0
- }
- check() {
- if [-f "$1"] ;
- then
- NUM=`diff -q $md5_home/$filename.md5 `md5sum $1` | wc -l` # 6/18 modify
- NUMBER=`expr NUM`
- if ["$NUMBER" = "1"] ;
- then
- echo "The file $1 have been changed! Today is $TODAY" >> $md5_home/result.error
- else
- echo "The file $1 is right! Today is $TODAY" >> $md5_home/result.right
- fi
- else
- echo "The file $1 is not exist! Today is $TODAY" >> $md5_home/result.delete
- fi
- return 0
- }
- while $I<=$N
- do
- MIDFILE="$`file$i`"
- if [-f "$MIDFILE"];
- then
- md5_file "$MIDFILE"
- check "$MIDFILE"
- fi
- I="$I+1"
- done
- # End of script
复制代码 |
|