susuu 发表于 2006-8-5 20:33:38

请帮忙看看下面这段script,很短,运行失败

:roll: 请帮忙看看下面这段script,是想递归比较一个目录下的所有文件是否相同,但是运行失败了,错误提示是一堆command not found。

#!/bin/bash
for i in *
do
for j in *
do
if $i != $j
then
if cmp $i $j| head -1 !=0
then
cmp $i $j|head -1>>filecompresult
fi
fi
done
done

错误提示:
./filecomptest: line 7: 黄金九岁探弋.rm: command not found
请问应该怎么写?是不是diff,cmp等不能在script中用?

VirusCamp 发表于 2006-8-5 21:25:23

多用几个括号试试, 尤其文件名, 中间可能有空格

susuu 发表于 2006-8-5 23:33:40

是程序有问题,没有按我的想法运行下去,刚才程序的思路有问题,改成下面的还是不行,不知哪里有问题。
#!/bin/bash

for i in *
do
for j in *
do
if $i != $j
then
if cmp $i $j| wc -l =0
then
k=$k+"qq"+$i+"and"+$j

fi
fi
done
done
echo $k

susuu 发表于 2006-8-6 00:56:58

这样还是不行

#!/bin/bash

for i in *
do
for j in *
do
if [ "$i" != "$j" ]
then
bb = 'cmp $i $j | wc -l'
else
if [ "$bb" !=0 ]
then
k=$k+"qq"+$i+"and"+$j
fi
fi
done
done
echo $k

我是猪_ 发表于 2006-8-15 07:16:09

这样还是不行

#!/bin/bash

for i in *
do
for j in *
do
if [ "$i" != "$j" ]
then
bb = 'cmp $i $j | wc -l'
else
if [ "$bb" !=0 ]
then
k=$k+"qq"+$i+"and"+$j
fi
fi
done
done
echo $k

这里好像逻辑不太对吧
页: [1]
查看完整版本: 请帮忙看看下面这段script,很短,运行失败