Javascript 命令中的语法错误

Javascript 命令中的语法错误,javascript,php,shell,shell-exec,Javascript,Php,Shell,Shell Exec,当用户单击按钮时,我有一个iframe从控制面板发送命令。使用下面的代码,当用户单击时,按钮不会发生任何变化,因为代码中存在语法错误 $items['googledotcom'] = array ( 'description'=>'DNS resolution test', '1'=>1, '0'=>0, 'fixCommand'=>'EXC service n

当用户单击按钮时,我有一个iframe从控制面板发送命令。使用下面的代码,当用户单击时,按钮不会发生任何变化,因为代码中存在语法错误

$items['googledotcom'] = array
        (
            'description'=>'DNS resolution test',
            '1'=>1,
            '0'=>0,
            'fixCommand'=>'EXC service network restart; echo "nameserver 8.8.8.8" >> /etc/resolv.conf; sleep 10; health check',
        );
上面的代码不起作用,因为这一行:echo“nameserver 8.8.8.8”>/etc/resolv.conf

但是,当我删除上面的行时,代码将起作用。但是我也需要添加上面的一行

对语法有什么建议吗

谢谢

更新

命令格式:

doCommand Javascript:

<script type='text/javascript'>

function doCommand(command)
{
    var r=confirm("Are you sure you want to \"" + command + "\"");
    if (!r)
    {
        return;
    }

    $.post('/device/commands-frame/', { id : '<?=$this->site->id;?>', act : command, command : command }, function(data)
    {
        alert('Command has been sent');
    });
}
</script>

函数doCommand(命令)
{
var r=confirm(“您确定要\”“+命令+”\”);
if(!r)
{
回来
}
$.post('/device/commands frame/',{id:'',act:command,command:command},函数(数据)
{
警报(“已发送命令”);
});
}
试试这个:

<?php
$items['googledotcom'] = array
    (
        'description'=>'DNS resolution test',
        '1'=>1,
        '0'=>0,
        'fixCommand'=>"EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check"
    );
    var_dump($items);
?>
现在,我使用以下小提琴测试该值,它正在工作:

该小提琴包含以下代码:

$(document).ready(function(){

$("#clickme").click(function(){
doCommand("EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check");
});

function doCommand(command)
{
var r=confirm("Are you sure you want to \"" + command + "\"");
if (!r)
{
    return;
}

$.post('/device/commands-frame/', { id : '<?=$this->site->id;?>', act : command, command : command }, function(data)
{
    alert('Command has been sent');
});
}

});
$(文档).ready(函数(){
$(“#单击我”)。单击(函数(){
docomand(“EXC服务网络重启;echo'nameserver 8.8.8'>>>/etc/resolv.conf;sleep 10;curo运行状况检查”);
});
函数doCommand(命令)
{
var r=confirm(“您确定要\”“+命令+”\”);
if(!r)
{
回来
}
$.post('/device/commands frame/',{id:'',act:command,command:command},函数(数据)
{
警报(“已发送命令”);
});
}
});

除了添加一些调试之外,还有什么不同之处?在我的本地主机上进行了测试,工作正常……没有错误……感谢-1;)OP的代码呢。那不行吗?不管你说什么,伙计;)我不是有意轻视你。您的代码与OP没有什么不同,只是在
nameserver 8.8.8.8
中切换引号,这在shell上下文中没有任何区别。您如何知道它不起作用?当按钮单击时,什么都不会发生。否则我会得到一个警告“什么都没发生”不是很有帮助。您是否启用了错误报告?尝试发出该命令的结果是什么?我正在使用javascript将该命令发送到远程设备。我更新了一张图片,以查看命令如何发送。当我点击发送按钮时,我会收到一条确认信息。但是这段代码没有给出任何输出。
$(document).ready(function(){

$("#clickme").click(function(){
doCommand("EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check");
});

function doCommand(command)
{
var r=confirm("Are you sure you want to \"" + command + "\"");
if (!r)
{
    return;
}

$.post('/device/commands-frame/', { id : '<?=$this->site->id;?>', act : command, command : command }, function(data)
{
    alert('Command has been sent');
});
}

});