免费注册 查看新帖 |

Chinaunix

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

[文本处理] 请教:“子SHELL将一个计算量较大的任务分成若干小任务并行执行” [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-19 10:37 |只看该作者 |倒序浏览
本帖最后由 xiang1162090014 于 2015-08-19 10:38 编辑

看到“子SHELL还有一个应用是将计算量较大的任务分成若干小任务并行执行”,
将命令放在圆括号中,强制在子shell中运行。
并举了个例子:
  1. #!/bin/bash
  2. (grep -r "root" /etc/* | sort > part1) &
  3. (grep -r "root" /usr/local* | sort > part2) &
  4. (grep -r "root" /lib/* | sort > part3) &
  5. wait
  6. echo "run time is: $SECONDS"
复制代码
请问这个脚本中加了圆括号和不加圆括号有什么区别?
我觉得不加圆括号也能够将大任务分成三部分放到后台处理

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
2 [报告]
发表于 2015-08-19 14:28 |只看该作者
你这个无所谓加不加的。不过如果里面有变量啥的,加不加区别就大了
  1. [unar@localhost ~]$ (c=1)
  2. [unar@localhost ~]$ echo $c

  3. [unar@localhost ~]$
复制代码

论坛徽章:
0
3 [报告]
发表于 2015-08-20 09:33 |只看该作者
get

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP