zoukankan      html  css  js  c++  java
  • [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做一个对比。

  • 相关阅读:
    发送信号控制 nginx
    常用技术搜索关键字
    boost helloworlld
    快速认识boost 数据类型转换
    php helloworld
    标准模板库(STL)学习指南之List容器
    c 可变参数 可变 形参 不确定 (2)
    C宏——智者的利刃,愚者的恶梦!
    boost常用库案例
    c++ 模板
  • 原文地址:https://www.cnblogs.com/yunzaixiao/p/9387632.html
Copyright © 2011-2022 走看看