我編寫了下面的腳本,腳本的目的是查找所有以foo開頭並且不再舊的文件3天對它們進行排序,然後將它們與列表文件中的文件列表進行比較。並只報告缺少的文件。我的腳本存在的問題是,它並沒有考慮到一個丟失的文件,例如看下面的例子 假設我的名爲list的文件包含foo1,foo2,foo3,foo4,foo5,但是如果一個文件丟失字符串比較關閉。也就是說,如果文件foo4丟失當腳本運行foo5將foo4bash腳本中的字符串比較問題
希望進行比較是有道理的
enter
#!/bin/bash
Set –x
Find ~/test99 –name 「foo*」 –mtime -3 –print>report
Sort report –o report;
Cat report|cut -c 22-25>report1;
while read comp1<&3 && read comp2<&4
do
if [[ $comp1 = $comp2 ]]; then
echo "file not found" >/dev/null
else
echo "$comp1 not found"
fi
done 3<report1 4<list
您在比較中忘記了'comp2'變量之前的美元符號。它應該是'if [[$ comp1 ==「$ comp2」]];那麼' – user000001