我的程序生成两个字符串,我希望它们通过外部差异工具进行比较。 diff工具仅接受文件/目录作为参数。这是diff file1 file2
完美无缺,但diff "hello" "world"
不起作用。有没有办法将我的字符串直接传递给diff
而不创建任何临时文件?谢谢。
答案 0 :(得分:2)
在shell上,您可以使用临时管道。
diff <(echo "string 1") <(echo "string 2")
使用反引号运算符或任何其他方法在php中执行命令。有关执行命令的详细信息,请参阅手册:http://www.php.net/manual/en/ref.exec.php
确保你正确地逃脱了弦乐。
编辑:此功能称为临时管道。所以shell将它转换为文件描述符。
iblue@nerdpol:~$ echo <(echo "string")
/dev/fd/63
iblue@nerdpol:~$ cat <(echo "string")
string