免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4314 | 回复: 11
打印 上一主题 下一主题

一个shell的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-03 11:03 |只看该作者 |倒序浏览
#!/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
请问是什么原因,在线等,请大虾解答.

论坛徽章:
0
2 [报告]
发表于 2011-06-03 11:17 |只看该作者
[ ] 两边都要加空格

论坛徽章:
0
3 [报告]
发表于 2011-06-03 11:22 |只看该作者
回复 2# 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

加了后效果一样

论坛徽章:
0
4 [报告]
发表于 2011-06-03 11:23 |只看该作者
回复 3# wbbshen


    ls |xargs -n 10 rm -rf ls

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

论坛徽章:
0
5 [报告]
发表于 2011-06-03 11:24 |只看该作者
ls |xargs -n 10 rm -rf {}  应该这样吧

论坛徽章:
0
6 [报告]
发表于 2011-06-03 11:26 |只看该作者
ls |xargs -n 10 rm -rf ls 相当于删除当前目录所有文件
rm -f * 它会报文件太多,所以用这个命令了.

论坛徽章:
0
7 [报告]
发表于 2011-06-03 11:28 |只看该作者
或者有没有更好的办法去实现我想要的操作:
判断目录是否存在,如果存在刚删除目录下的所有内容

论坛徽章:
0
8 [报告]
发表于 2011-06-03 11:34 |只看该作者
直接删除就完了,没必要判断

论坛徽章:
0
9 [报告]
发表于 2011-06-03 11:42 |只看该作者
回复 8# where27


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

论坛徽章:
0
10 [报告]
发表于 2011-06-03 11:49 |只看该作者
回复 6# wbbshen

如果你要删除大量的小文件,应该用find找出后删除,这样是一个个删除,就不会有太多的提示了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP