2013-07-28 105 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 –