PHP的Shell脚本循环不起作用

时间:2013-05-30 00:22:58

标签: php shell

我试图使用shell_exec() php函数调用shell脚本循环,但没有用。

我可以毫无问题地shell_exec("ls")

我可以ssh到服务器并for f in ls ; do echo $f ; done毫无问题。

但是当我把两者结合起来时,

shell_exec("for f in `ls` ; do echo $f ; done")

我没有得到任何输出(也没有NULL作为错误,我检查过。)

我在这里缺少什么?

P.S:我在这里使用的for循环不是我打算使用的,它只是为了让它更清晰。

1 个答案:

答案 0 :(得分:4)

echo shell_exec("for f in `ls` ; do echo \$f ; done");

你的错误:

  1. 错过echo
  2. 只要您使用双引号就应该转义
  3. $符号(或者双引号可以替换为单引号)
  4. 专业提示:始终error_reporting级别E_ALL(或更高级别)和display_errors 1

    开发