【发布时间】: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 的参数无效错误。
有什么想法吗??
【问题讨论】:
-
我一直看到系统出现奇怪的问题,直到使用单引号或双引号。尝试使用 shell exec 代替。 ca3.php.net/manual/en/function.shell-exec.php