我编写了一些使用bash和PHP命令行脚本组合的代码。该脚本以root身份运行,然后使用su
成为各种用途。我开始这样的会议:
$result = `su SomeUser ./dothis.php`
这里./dothis.php
是一个脚本,可能会生成一些存储在$result
中的输出,但问题是通常输出不会被捕获并且使我难以读取脚本输出。
如何确保在此su
堆叠中捕获输出?
答案 0 :(得分:3)
使用2>&1
将stderr重定向到stdout。反引号只捕获输出到stdout,并且会错过输出到stderr。
$result = `su SomeUser ./dothis.php 2>&1`