2016-03-15 174 views
0

我有一個帶有Web界面的PHP腳本,用於向我自動執行的過程提供輸入。在這個過程中,我試圖包含使用SSH和屏幕來運行一些命令(全部通過PHP的exec發送)。自動執行SSH和屏幕命令

我目前正在使用以下內容將回顯從腳本發送回屏幕,但沒有執行它。我試着添加-ne選項來回顯並添加\ n或^ M到最後。我也嘗試過改變我正在使用的引號類型,但是我無法讓代碼執行(發送回車)。

ssh -t -t [email protected] 'screen -r -d -S -X myScreen stuff "echo -ne sent from script"' 2>&1 

我該如何去獲取代碼執行?

回答

0

這花了很長時間才能弄清楚,比我想承認的要多。他們的關鍵是在發送命令的東西之前添加一個$,然後使用\ n發送輸入新聞。

我添加了一個額外的屏幕列表;演示如何在進入屏幕前發送多個命令。我還添加了一個額外的回聲來演示如何將多個命令發送到屏幕。

ssh -t -t [email protected] "screen -list; screen -r -d -X -S myScreen stuff $'echo here; echo here\n'" 2>&1