我的目录中有一些文件,如
a.txt
a.txt.md5
b.txt
b.txt.md5
c.txt
我正在尝试编写一个shell脚本,它将打印Md5不存在或Md5已更改的文件名
像
for filename in ".txt"
do
if($filename.md5 not present OR $filename.md5 is changed)
echo $filename
fi
done
那么这个条件怎么样呢?
if($filename.md5 not present OR $filename.md5 is changed)
答案 0 :(得分:1)
测试文件是否存在很容易:
if [ -e $file ]; then
#checksum again
if [ $? == 0 ];then
echo $file
fi
else
echo $file
fi
我只是抽象你要做的任何事情来检查校验和
也许我最好添加一个伪代码:
if file exists
checksum
if changed
print filename
else
print filename
答案 1 :(得分:1)
输入单个if语句:
is_changed
if [ !-e $file -o $? == 0 ];then
print $file
fi
假设你的函数is_changed如果被改变则返回0,否则返回别的东西。