2013-07-28 107 views
0

我的php exec脚本有一个小问题。 它看起来像这样:php exec命令中的单引号

exec('timeout 6 sshpass -p '.$pass_verify.' ssh-copy-id "[email protected]'.ip_verify.' -p '.port_verify.'"'); 

但我想参数“pass_verify”是单引号。 我试图'''但它不起作用。 这个脚本来执行的是Linux命令:

sshpass -p 'pass_verify' ssh-copy-id "[email protected]_verify -p port_verify" 

你能帮助我吗? :) 在此先感谢。

+0

使用http://us.php.net/escapeshellarg将所有*参数一个一个地传递给exec。 – DCoder

回答

0

逃脱它不工作?即\'

exec('timeout 6 sshpass -p \''.$pass_verify.'\' ssh-copy-id "[email protected]'.$ip_verify.' -p '.$port_verify.'"'); 

作为阿迈勒指出的那样,你也缺少在您的其他变量美元符号(除非这些都应该是常数?)

+0

谢谢! :)它的工作; D –

+0

我太赶了..可能不工作.. –

+0

可能?什么不工作?你有错误吗? – SmokeyPHP

0

你错过了美元符号。

exec('timeout 6 sshpass -p '.$pass_verify.' 
ssh-copy-id "[email protected]'.$ip_verify.' -p '.$port_verify.'"'); 
--------------------^-----------------^ 
+0

我知道,我知道; D但我有报价的问题,而不是变数:) –

+0

@KamilBasista:你可以发布* exact *命令你试图'eval()'? – 2013-07-28 09:56:54

+0

http://hastebin.com/gegitixoma.php –