[shell]实现脚本执行结果匹配某个字符串

摘要:
今天,我收到一个请求,要求脚本执行结果包含某个字符串,我想找出这个字符串。我的想法是根据脚本名称和结果以附加的形式编写文本,然后从这个文本中找到相应的内容/bin/bashSH_DIR=sh_dircd$sh_DIRforiin$;doecho“echo$i”˃$i。然后,shdone是在循环中执行和搜索的脚本。这里,所有脚本都被遍历一次。只有在找到第一个时,你才可以自行停止-ne0];然后12echo“”13else14echo”finditin$run sh“15fi16完成第五行和第七行可以进行注释,以使显示更清晰。我认为用Python实现它可能更快。伪代码与此类似。首先,for循环遍历可执行文件,然后存储结果。使用if进行比较。

今天接到一个这个要求,就是脚本执行结果中包含某个字符串,要求查出来。

我给的思路是 按照脚本名和结果 以 追加 的方式写入文本,然后从这个文本中查找相应的内容。

对方给的思路是以执行结果来判断,就自己实现了这种方式

首先是按照目录写入脚本,这里是在脚本中写入了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]实现脚本执行结果匹配某个字符串》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇(转载)Vim按下ctrl+s造成程序“僵死”jquery读取iframe子页面和父页面的处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

windows花指令和堆栈溢出原理

1、今天拿到一个exe,用IDA打开后在main的代码如下,想直接F5,报错如下:      细看代码,有两个比较有意思的地方:    第一个红框,JZ和JNZ跳转到同一个地址:0x4010A1+1=0x4010A2    第二个红框,也就是0x4010A1的开始地址是一个call指令,5字节长度;再下一个指令就从0x4010A6开始了;    0x4...

批处理bat脚本自动配置java的jdk环境变量

前言 每当更换电脑或者是重装系统之后,都需要重新配置java系统路径。但是又不想每次都去查配置方法,所以写了个脚本自动配置。 脚本内容 @echo off @echo 第一步 输入要设置的JAVA_HOME路径:(As example: D:\Program Files\Java\jdk1.8.0_181) set /p input="请输入JAVA_H...

企业级虚拟化实战之KVM——shell脚本实现虚拟机安装、管理、快照、存储池、批量创建

问题背景 使用shell或者python脚本完成KVM虚拟机的批量创建,要求如下: (1)脚本需要人机交互,当输入虚拟机数量,虚拟机规格参数后,即可批量创建相应机器; (2)使用EXP技术从网络安装虚拟机,创建多个时使用复制原理; (3)脚本实现虚拟机生命周期管理,即可实现关机,启动,快照,从快照启动等等。 README.txt 本程序实现了虚拟机安装、虚...

shell ---- 脚本常用故障排查方法

1.检查脚本是否有语法错误 bash -n test.sh 2.检查脚本执行过程 /bin/sh set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追中一段代码的显示情况。 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a  标示已修改的变量,以供输出至环境变量。 -b  使被中止的后台程序立...

web shell

介绍: 为什么文件上传存在漏洞 上传文件时,如果服务器代码未对客户端上传的文件进行严格的验证和过滤,就容易造成 可以上传任意文件的情况,包括上传脚本文件(asp、aspx、php、jsp 等格式的文件)。 ·危害 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器。这个恶意的脚本 文件,又称之为 webshell,也可将 webshell 脚本...

如何让您的php也支持pthreads多线程

  我们常常会碰到这样一种情况,开发环境在windows下开发,而生产环境确是linux。windows下能正常运行,上传到linux后却无法好好地玩耍了。然后开始了一轮尼玛式的疯狂的查找原因,最后发现是服务器环境问题。这时只能默默地爆一句shit。最近在用php多线程开发一个小功能也碰到类似的问题,在此记录一下。   1、查找资料发现php5.3或以上,...