2014-10-08 74 views
1

我想編寫shell腳本,其中我使用的是ssh命令。 無論輸出通過ssh命令,我都希望將它保存在文本文件或varibale中,所以我可以在我的shell腳本中使用它。 目前我正在將輸出保存在變量中,但是當我在ssh命令之外使用該變量時,值顯示爲空白。 代碼是ssh命令輸出保存在shell腳本中的文本文件中

ssh hostname -c "' 
`pwd`; 
var=$(ps -ef | grep Consumer | cut -f6 -d' ') 
'"; 
echo $?; 

echo "vbar $var"; 

當我打印時,var值爲空。

+0

林不知道,但我認爲這種形式可能會有所幫助:SSH XXXXXXX> outfile.txt; cat outfile.txt – user230910 2014-10-08 05:49:00

+0

這是空白的,因爲var在遠程計算機(ssh)上運行的bash會話中分配了一個值。但是,您的變量評估發生在本地會話中。 – anishsane 2014-10-08 07:44:09

回答

3

爲了節省SSH在本地文件 「file.log」 輸出:

ssh hostname > file.log << EOF 
pwd 
ps -ef | grep Consumer | cut -f6 -d' ' 
EOF 
+0

非常感謝。有用!! – Mars 2014-10-08 06:20:24

+0

如何使用一個ssh的兩個命令來保存2個不同的文件。像一個命令是ps -ef | grep Consumer | cut -f6 -d''並將此輸出保存在file.log中,第二個命令是ps -ef | grep測試| cut -f7 -d''並將結果保存在test.log中 – Mars 2014-10-08 07:14:58

+0

請問這是一個新問題。謝謝。 – Cyrus 2014-10-08 07:17:47

相關問題