如果我在命令行上运行这个命令(在我的 Mac OS X 上):
echo -n "hello" > foo-cmd.txt
我得到了预期的结果,即一个foo-cmd.txt
包含“ hello
”的文件,最后没有任何换行符。
但是,如果我运行这个 PHP 代码:
<?php
shell_exec("echo -n \"hello\" > foo-php.txt");
?>
我得到一个foo-php.txt
包含文本“ -n hello
”的文件,后跟换行符!换句话说,参数-n
作为输出潜入,而不是被视为参数!
我该如何解决这个问题?