【发布时间】:2014-08-13 00:47:13
【问题描述】:
我想运行一个简单的 shell 命令,比如:
dir > bau.txt
使用php:
$cmd = escapeshellcmd ('dir > bau.txt');
shell_exec($cmd);
但它不起作用(bau.txt 保持为空)。 有什么原因吗?
一个普通的 $cmd 就可以工作(比如'dir')。
【问题讨论】:
我想运行一个简单的 shell 命令,比如:
dir > bau.txt
使用php:
$cmd = escapeshellcmd ('dir > bau.txt');
shell_exec($cmd);
但它不起作用(bau.txt 保持为空)。 有什么原因吗?
一个普通的 $cmd 就可以工作(比如'dir')。
【问题讨论】:
这似乎是一个类似的场景:
How to run multiple commands in system, exec or shell_exec?
基本上,当您使用 > 运算符时,您将标准输出通过管道传输到您指定的文件。 shell_exec 似乎不直接支持管道,而是需要从 shell_exec 中存储输出,然后使用下一个命令通过 shell_exec 运行。
【讨论】: