免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: yuipr
打印 上一主题 下一主题

[文本处理] 帮忙看个循环, [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-08-22 13:19 |只看该作者
blackold 发表于 2012-08-22 13:13
回复 9# yuipr


噢,不好意思,刚没仔细看你的回复,确实是还会在同一个$i中发生冲突的。 

比如在一$i中
每一次git am -3 $patch/$i/*.patch ##产生冲突
暂停,处理完冲突后,git am -3 --resolved##就是if中的处理方式,
但这次处理完后,还有可能再在$i中冲突,也就是一个$i中,这个冲突的次数是确定的,有可能没有,有可能一次,也有可能很多次。应该是要在这个if中再搞个循环了。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
12 [报告]
发表于 2012-08-22 13:36 |只看该作者
回复 11# yuipr


    try
  1. #! /bin/bash

  2. patch=/home/jenkins/jobs/45450/patch
  3. file=/home/jenkins/jobs/45450

  4. function pause(){
  5.     read -p "$*"

  6. }

  7. for i in `cat am.txt`
  8. do
  9.     pushd $i
  10.     echo "**********Current project at $i*************"
  11.     pwd
  12.     git am -3 $patch/$i/*.patch|tee log.txt
  13.     k=`grep -o "Revert" log.txt`
  14.     log=`grep -o "Patch failed" log.txt`
  15.    
  16.     while [[ $k = Revert || $log = "Patch failed" ]]
  17.     do
  18.         if [[ $k = Revert ]];then
  19.             echo "we need to delete these revert patches"
  20.             pause 'press any key to continue...'
  21.             git am -3 --resolved |tee log.txt
  22.         elif [[ $log = "Patch failed" ]];then
  23.             echo "we need to handle confic"
  24.             pause 'press any key to continue...'
  25.             git am -3 --resolved |tee log.txt
  26.         fi
  27.         
  28.         k=`grep -o "Revert" log.txt`
  29.         log=`grep -o "Patch failed" log.txt`
  30.     done
  31.    
  32.     popd
  33. done
复制代码

论坛徽章:
0
13 [报告]
发表于 2012-08-22 13:50 |只看该作者
blackold 发表于 2012-08-22 13:36
回复 11# yuipr

谢谢啊,这下确实是可以了,就算无限冲突也不会退出。
我早上也想用while来着,当时是
while [ $k = Revert ] 好像没加两个中括,就报错,以为不能这么用,就没细看,
k=`grep -o "Revert" log.txt`
log=`grep -o "Patch failed" log.txt` ##这两名确实就会让它无限循环了。
确实是牛人啊,以后还得向你多多学习。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
14 [报告]
发表于 2012-08-22 13:52 |只看该作者
回复 13# yuipr


    向你学习!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP