第一个shell脚本_codestorm_新浪博客

本文介绍了一个bash脚本,该脚本能够自动地在每一个测试案例后添加gcov命令,以便于生成.gcov覆盖信息。文章详细解释了如何通过条件判断和循环读取来实现这一目标,并提供了关于变量引用和正则表达式的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用了一天的生命力写出了第一个脚本,为了忘一个自动测试脚本里在每个case后添加三行gcov命令来生成.gcov信息。
注意:
一、if中用正则的话要[[ exp =~ exp && exp]] (等号和方括号,且必须有空格)
二、若a=echo 123asd456
     则$a=123asd456
     '$a'=$a
     "$a"=123asd456
     "{$a}"=echo 123asd456

  1 #!/bin/bash
  2 flag=0
  3 count=0
  4 
  5 while read line
  6 do
  7 #   echo $line     #这里可根据实际用途变化
  8     if [[ "$line" =~ ">>>>>>>>running test" &&  "$flag" == 0 ]]
  9         then flag=1
 10 #       count=${line//[A-Za-z\>]/}
 11         count=`expr $count + 1`
 12         echo $line >> 1.sh
 13     elif [ "$flag" = 1 ]
 14         then flag=0
 15         echo $line >> 1.sh
 16         echo 'gcov ../source/grep.c -o ../source/grep.gcno ../source/grep.gc    da >/dev/null 2>&1'>> 1.sh      #生成gcov文件
 17         echo 'mv grep.c.gcov ../traces/'$count.gcov >> 1.sh     #重命名gcov
 18         echo 'rm ../source/grep.gcda'  >> 1.sh      #删除gcda、gcov
 19         echo  >> 1.sh       #打印空行
 20     else
 21         echo $line >> 1.sh
 22     fi  
 23 done < v0.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值