2015-04-02 197 views
0

當我嘗試通過server_remote中的ssh運行多個命令時,第三個命令返回本地服務器的結果。 例如:ssh:執行幾條命令

ssh remote_server "cd $LOGPATH ; ls -ltr logProgram1* | tail -1" 

rediects當地$ LOGPATH,不返回從remote_server的結果。

回答

0

您需要引用以獲取傳遞給遠程shell的$ LOGPATH。現在它只是在本地擴展$ LOGPATH併發送它。

ssh remote-server "cd \$LOGPATH ; ls ....." 

可能會更好。

只是一句謹慎。您的環境可能不是您所期望的,因爲您的shell init腳本文件不一定與交互式登錄shell相似地進行處理。首先檢查環境,確保你的$ LOGPATH是它應該是的。

ssh remote-server env 

如果您需要調試將會很有幫助。

+0

「cd $ LOGPATH」效果很好,但「ls -ltr logProgram1 *」或「ls -ltr logProgram1 \\ *」沒有找到任何文件,但有許多文件具有該模式 – 2015-04-03 07:32:34