在PHP中运行bash脚本会导致语法错误

时间:2010-10-17 13:01:11

标签: php bash

我可以使用以下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');
?>

没有'&amp;'没有错误发生,但我想在后台开始。逃离'&amp;'导致urxvt的参数错误无效。

任何想法??

1 个答案:

答案 0 :(得分:4)

删除;&是命令的终止。

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