2017-04-02 82 views
0

我是新來的紅寶石,我試圖尋找很多,但我無法弄清楚這一點!紅寶石 - 獲取命令輸出,這是通過SSH執行

我需要執行這個命令: 我試過使用Open3.popen,back-ticks但輸出沒有被返回,它只返回ssh命令,但是我需要輸出hive查詢。

ssh -C -i key_rsa -l login_name server_name "/usr/bin/hive -i .hiverc -e \" some_query \"" > somefile.csv 

我怎樣才能得到輸出&錯誤,如果任何的蜂房查詢和SSH?

在此先感謝,請讓我通過確保儘早

+0

您是否故意使用'> somefile.csv'將文件重定向到文件? – SergGr

+0

是的,我故意這樣做 –

+0

只是爲了仔細檢查,在那個命令運行之後,你期望ouptut在哪裏?在您重定向到的文件中還是在您開始的過程的標準輸出中? – SergGr

回答

0

簡化知道您的查詢輸出到標準輸出首先登錄到目標服務器,並手動運行查詢。接下來在ssh命令後面的查詢周圍使用單引號。最後,在確定各個部分正在工作時添加重定向:

ssh -C -i key_rsa -l login_name server_name '/usr/bin/hive -i .hiverc -e " some_query "' 
+0

一切正在一件件工作,但仍然沒有得到輸出 –

+0

結果是什麼:'ssh -C -i key_rsa -l login_name server_name'ls'' – garyboland

+0

這是行得通的,我也能夠得到以前的命令工作, –