一个shell的问题

#!/bin/bash

echo "del old f10..."
if [-d "/opt/qianlong/sysdata/history/shase/base/base"];then
cd /opt/qianlong/sysdata/history/shase/base/base
ls |xargs -n 10 rm -rf ls
fi

这个脚本用来判断目录是否存在,如果存在刚删除目录下的所有内容
可是一执行就报:
: command not found
del old f10...
rmlx.sh: line 9: syntax error: unexpected end of file
请问是什么原因,在线等,请大虾解答.

作者: wbbshen   发布时间: 2011-06-03

[ ] 两边都要加空格

作者: where27   发布时间: 2011-06-03

回复 where27


   
echo "del old f10..."
if [ -d "/opt/qianlong/sysdata/history/shase/base/base" ]; then
cd /opt/qianlong/sysdata/history/shase/base/base
ls |xargs -n 10 rm -rf ls
fi

加了后效果一样

作者: wbbshen   发布时间: 2011-06-03

回复 wbbshen


    ls |xargs -n 10 rm -rf ls

这个命令是什么意思。。。

作者: where27   发布时间: 2011-06-03

ls |xargs -n 10 rm -rf {}  应该这样吧

作者: shplpy   发布时间: 2011-06-03

ls |xargs -n 10 rm -rf ls 相当于删除当前目录所有文件
rm -f * 它会报文件太多,所以用这个命令了.

作者: wbbshen   发布时间: 2011-06-03

或者有没有更好的办法去实现我想要的操作:
判断目录是否存在,如果存在刚删除目录下的所有内容

作者: wbbshen   发布时间: 2011-06-03

直接删除就完了,没必要判断

作者: where27   发布时间: 2011-06-03

回复 where27


    谢谢你的回复,不过你没有回答我的问题
能直接删除那还要判断??
如果我当前的目录不正确,那么直接删除将会产生严重后果.会删除错误的数据
因为cd /opt/qianlong/sysdata/history/shase/base/base
不一定能执行成功

作者: wbbshen   发布时间: 2011-06-03

回复 wbbshen

如果你要删除大量的小文件,应该用find找出后删除,这样是一个个删除,就不会有太多的提示了

作者: zhnghaijin   发布时间: 2011-06-03