【问题标题】:Run bash script in PHP results in syntax error在 PHP 中运行 bash 脚本会导致语法错误
【发布时间】:2010-10-17 13:01:10
【问题描述】:

我可以使用以下 bash 脚本一次启动多个终端:

for i in 0 1 2 3; do urxvt -name Terminal$i&; done

但是,如果我尝试从 PHP 脚本运行该 bash 脚本,但如果失败并出现错误:

sh: -c: line 0: syntax error near unexpected token `;'
sh: -c: line 0: `for i in 0 1 2 3; do urxvt -name Terminal$i&; done'

PHP 脚本:

<?php
system('for i in 0 1 2 3; do urxvt -name Terminal$i&; done');
?>

这也失败了:

<?php
exec('for i in 0 1 2 3; do urxvt -name Terminal$i&; done');
?>

没有'&'不会发生错误,但我想在后台开始。转义 '&' 会导致 urxvt 的参数无效错误。

有什么想法吗??

【问题讨论】:

标签: php bash


【解决方案1】:

去掉;&amp;是命令的终止。

在您的 shell 中输入 man bash 并查看“SHELL GRAMMAR”部分下的“列表”。

【讨论】:

  • 就是这样!非常感谢!
  • 我很高兴能帮上忙;)如果它解决了您的问题,请接受答案。
猜你喜欢
  • 2017-05-20
  • 2014-09-03
  • 2017-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 2016-08-19
  • 1970-01-01
相关资源
最近更新 更多