欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php exec()某个shell结果失误,原因是php中的 grep只能处理文本流,二进制流不行

程序员文章站 2022-05-31 20:02:06
...
php exec()某个shell结果出错,原因是php中的 grep只能处理文本流,二进制流不行

cat aa.txt | grep 'startup' |wc-l

在linux命令行下测试没有问题。但是在php的exec的就出现问题了,很奇怪。

结果报错:

报错提示如下:cat: write error: Broken pipe



废了好大劲,查了好多资料,终于解决。

grep的选项增加-a选项就ok了


grep -a选项的意思是:Process a binary file as if it were text; this is equivalent to the --binary-files=text option

应该是cat的这个文件内容有二进制流,导致grep不识别

php exec()某个shell结果失误,原因是php中的 grep只能处理文本流,二进制流不行

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频