Я хочу написать сценарий оболочки, чтобы сделать следующие четыре вещи:
- ssh удаленная машина (скажем, hosti)
- напечатать имя машины в файл (top_out)
- напечатать первые несколько строк вывода команды «top» в тот же файл, что и на шаге 2.
- повторить 1-3 для другой машины
Я пробовал это:
#! /bin/bash
for i in 1 2 3 4 5 6 7 8
do
echo "host$i" >> ~/mysh/top_out
ssh host$i "top -n1 -b | head -n 15>> ~/mysh/top_out"
echo "done"
done
Выходной файл, который я получил, сохранил верхний вывод для некоторых машин (например, host5-8), но он был пустым для ранних машин, например, host1-4. Если бы я попробовал без строки "echo "host$i" >> ~/mysh/top_out, я бы смог получить верхний вывод для всех хостов 1-8.