QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1902|回复: 4

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

[复制链接]
发表于 2006-8-5 20:33:38 | 显示全部楼层 |阅读模式
请帮忙看看下面这段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中用?
发表于 2006-8-5 21:25:23 | 显示全部楼层
多用几个括号试试, 尤其文件名, 中间可能有空格
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

 楼主| 发表于 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 | 显示全部楼层
[quote:7b5d83bce0="susuu"]这样还是不行

#!/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[/quote]

这里好像逻辑不太对吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-6 12:41 , Processed in 0.044796 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表