SSH дважды и запустить команду, экранируя символ?

Я могу получить желаемый результат, выполнив эту команду на терминале:

top -bn 1 | grep "^ " | awk '{ printf("%-8s %-8s %-8s %-8s %-8s %-8s %-8s\n", $1, $2, $9, $10, $6, $11, $12); }' | head -n 6 

И я могу SSH дважды и получить имя хоста, запустив это на терминале:

 ssh 192.168.5.209 "ssh 192.168.5.210 exec \"hostname\"" 

209 работает как что-то вроде портала, поэтому я могу только SSH от 209 до 210. Но проблема в том, как заменить «hostname» на верхнюю команду, которую я пишу выше? Слишком много специальных символов.

Я пишу сценарий для выполнения из PHP.

One Solution collect form web for “SSH дважды и запустить команду, экранируя символ?”

grep, awk и head могут быть объединены и выполняться локально

  ssh 192.168.5.209 "ssh 192.168.5.210 top -bn 1 " | awk '/^ / { printf("%-8s %-8s %-8s %-8s %-8s %-8s %-8s\n", $1, $2, $9, $10, $6, $11, $12); c++ ; if (c==6) exit ;} 

где

  • /^ / поиск строки, начинающейся с пробела
  • c++ ; if (c==6) exit ; выйдет из awk после 6 строк.
  • максимальная производительность: использование процессора> 100%
  • Высокая производительность процессора Perl
  • Почему я не могу использовать весь 100% -ный потенциал процессора?
  • Как перенаправить максимальный результат на один процессор в файл?
  • Верхняя команда OSX показывает 5, работающих на четырехъядерном ядре
  • Среднее использование ЦП процесса
  • Извлечь текст из одной итерации сверху
  • Если я хочу создать графический интерфейс, который отображает точно те же данные, что и команда TOP в LINUX, откуда я получу данные?
  • Статистика использования процессора и ядра
  • Как предотвратить закрытие терминала при запуске программы с завершением?
  • Запросы о верхней команде
  • Linux и Unix - лучшая ОС в мире.