2014-10-08 75 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

相关问题