Вывод команды ssh для сохранения в текстовом файле в сценарии оболочки

Я хочу написать сценарий оболочки, в котором я использую команду ssh. Какой бы вывод я ни получил с помощью команды ssh, я хочу сохранить его в текстовом файле или в варибале, чтобы я мог использовать его в своем сценарии оболочки. В настоящее время я сохраняю вывод в переменной, но когда я использовал эту переменную вне команды ssh, значение отображается пустым. Код

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

echo "vbar  $var";

значение var пусто, когда я печатаю.


person Mars    schedule 08.10.2014    source источник
comment
я не уверен, но я думаю, что эта форма может помочь: ssh XXXXXXX › outfile.txt; аутфайл кота.txt   -  person user230910    schedule 08.10.2014
comment
Оно пустое, поскольку переменной var присваивается значение в сеансе bash, работающем на удаленной машине (ssh). Однако оценка вашей переменной происходит в локальном сеансе.   -  person anishsane    schedule 08.10.2014


Ответы (1)


Чтобы сохранить вывод ssh в локальном файле «file.log»:

ssh hostname > file.log << EOF
pwd
ps -ef | grep Consumer | cut -f6 -d' '
EOF
person Cyrus    schedule 08.10.2014
comment
Как можно использовать один ssh для двух команд, чтобы сохранить 2 разных файла. Например, одна команда ps -ef | grep Потребитель | cut -f6 -d' ' и сохраните этот вывод в файле.log, вторая команда ps -ef | грэп-тест | cut -f7 -d' ' и сохранить вывод в test.log - person Mars; 08.10.2014
comment
Пожалуйста, задайте это как новый вопрос. Спасибо. - person Cyrus; 08.10.2014