今天用了一天的生命力写出了第一个脚本,为了忘一个自动测试脚本里在每个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