堆叠`su`的标准输出

时间:2010-05-12 16:31:55

标签: php bash unix

我编写了一些使用bash和PHP命令行脚本组合的代码。该脚本以root身份运行,然后使用su成为各种用途。我开始这样的会议:

$result = `su SomeUser ./dothis.php`

这里./dothis.php是一个脚本,可能会生成一些存储在$result中的输出,但问题是通常输出不会被捕获并且使我难以读取脚本输出。

如何确保在此su堆叠中捕获输出?

1 个答案:

答案 0 :(得分:3)

使用2>&1将stderr重定向到stdout。反引号只捕获输出到stdout,并且会错过输出到stderr。

$result = `su SomeUser ./dothis.php 2>&1`