免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5019 | 回复: 12

[文件目录] 请教个shell的分号问题 [复制链接]

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-06-26 09:46 |显示全部楼层
我的一个shell脚本里,有个删除特定目录的命令:
find ./ -type d -mtime +2 | xargs rm -rf {}

如果加上分号:
find ./ -type d -mtime +2 | xargs rm -rf {};
就不生效了,无法删除。
不加是可以的。


但是我在shell测试其他命令,如:
ls是正常的,ls;也是正常的。

按理说,分号只是分隔符,怎么会这样呢?

谢谢!

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-16 06:20:00
发表于 2014-06-26 09:55 |显示全部楼层
find之后直接执行-exec不好么?

论坛徽章:
0
发表于 2014-06-26 10:01 |显示全部楼层
@qxhgd

用了管道,我认为就不可以加分号了。

论坛徽章:
0
发表于 2014-06-26 10:07 |显示全部楼层
我猜楼主,你是想用这种想法吧。
find ./ -type d -mtime +2 -exec rm -rf {} \;

论坛徽章:
38
辰龙
日期:2013-08-21 15:45:19寅虎
日期:2014-06-09 12:52:17双鱼座
日期:2014-06-10 12:42:44巨蟹座
日期:2014-06-12 23:17:17戌狗
日期:2014-06-17 09:53:29未羊
日期:2014-10-10 13:45:41申猴
日期:2015-03-03 17:21:37亥猪
日期:2015-03-03 17:22:002015亚冠之广州富力
日期:2015-05-12 16:34:522015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:08平安夜徽章
日期:2015-12-26 00:06:30
发表于 2014-06-26 10:32 |显示全部楼层
本帖最后由 关阴月飞 于 2014-06-26 10:32 编辑

回复 1# qxhgd

    我的一个shell脚本里,有个删除特定目录的命令:
find ./ -type d -mtime +2 | xargs rm -rf {}

如果加上分号:
find ./ -type d -mtime +2 | xargs rm -rf {};
就不生效了,无法删除。
不加是可以的。


LZ,你确定不生效了????
  1. [root@ awktest]# find . -name 'db*'
  2. ./db6
  3. ./db5
  4. ./db4
  5. ./db3
  6. ./db2
  7. ./db1
  8. [root@ awktest]# find . -name 'db*' |xargs rm -rf {};
  9. [root@ awktest]# find . -name 'db*'
  10. [root@ awktest]# ls db*
  11. ls: 无法访问db*: 没有那个文件或目录
  12. [root@ awktest]#
复制代码

论坛徽章:
0
发表于 2014-06-26 10:56 |显示全部楼层
@qxhgd
  1. [root@www test]# find ./ -type d -mtime +1 | xargs rm -rf {};
  2. rm: cannot remove directory `./': Invalid argument
复制代码
试过了,是可以删除的。

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-06-26 12:00 |显示全部楼层
回复 2# nathanielwen


    -exec和xargs功能是一样的吧?

   感觉xargs还要强些。

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-07-01 14:07 |显示全部楼层
我发现换成exec也是一样的。
现象是直接在这个目录执行命令是OK的,
但是放到脚本中利用crontab定时执行就不删除目录了!


怪事啊!

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-07-01 14:14 |显示全部楼层
回复 8# qxhgd
你的crontab是怎么写的?

   

论坛徽章:
0
发表于 2014-07-01 16:45 |显示全部楼层
crontab千万别写绝对路径,系统会爆炸的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP