0

このコマンドをコマンド ライン (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として扱われるのではなく、出力として忍び込みます!

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

コマンドは、オプションをサポートしていないシェルの組み込みバージョンを使用しています。echo-n

/bin/echo代わりに試してください。

于 2012-07-05T10:55:04.523 に答える
0

これを試して:

shell_exec("echo\ -n \"hello\" > foo-php.txt");
于 2012-07-05T10:52:52.450 に答える