[shell]实现脚本执行结果匹配某个字符串
Posted 低调的背锅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[shell]实现脚本执行结果匹配某个字符串相关的知识,希望对你有一定的参考价值。
今天接到一个这个要求,就是脚本执行结果中包含某个字符串,要求查出来。
我给的思路是 按照脚本名和结果 以 追加 的方式写入文本,然后从这个文本中查找相应的内容。
对方给的思路是以执行结果来判断,就自己实现了这种方式
首先是按照目录写入脚本,这里是在脚本中写入了echo $i的内容。也就是脚本有执行结果。
#!/bin/bash SH_DIR=sh_dir cd $SH_DIR for i in $(seq 50); do echo "echo $i">$i.sh done
然后是循环执行并查找的脚本,这里是全部遍历了一遍,可以自己做成仅发现第一个就终止。
1 #!/bin/bash 2 SH_DIR=sh_dir 3 for runsh in `ls $SH_DIR | grep .sh`; 4 do 5 echo $runsh 6 result=`./$SH_DIR/$runsh` 7 echo $result 8 echo $result | grep ‘8‘ 9 10 if [ $? -ne 0 ]; 11 then 12 echo "" 13 else 14 echo "find it in $runsh " 15 fi 16 done
其中第5行和第7行都可以注释,就显示的更清楚了。
我觉得用python实现可能更快一点。估计我学习python的时间更长。
伪代码跟这个类似,先for循环遍历可执行文件,然后存储结果,用if做一个对比。
以上是关于[shell]实现脚本执行结果匹配某个字符串的主要内容,如果未能解决你的问题,请参考以下文章