Краткий ответ:
ssh srv_1 'ssh srv_2 "command"'
где команда - это любая команда, которую вы хотите запустить.
Он также работает без одинарных кавычек, но мне нравится, когда они помогают в понимании.
ssh srv_1 ssh srv_2 "command"
Использование кавычек дает нам некоторую структуру для работы, но, как вы можете видеть, они не являются принципиально необходимыми.
Это также работает,
ssh srv_1 ssh srv_2 command
Мы не можем сказать из информации, которую вы нам предоставили, будет ли это работать, или сделает ли команда что-нибудь, но приведенный выше синтаксис является подход, который я бы принял.
Если вам нужно начать использовать переменные или подстановку команд, тогда это станет более сложным, более быстрым, и вам нужно будет быть осторожным с заключением в кавычки и экранированием.
Вот пример того, как это работает.
Нептун - моя главная машина. Тринити - еще один сервер. Матрица - последний сервер.
tony@neptune:~$ ssh trinity 'ssh matrix "hostname"'
matrix
Таким образом, команда возвращает матрицу имени хоста, потому что она была выполнена в матрице сервера.
NB: изменение каталога таким образом не будет иметь никакого эффекта, изменения каталога относятся только к оболочке, в которой они выполняются.
Вот что я имею в виду:
tony@Neptune:~$ ssh trinity 'ssh matrix "cd /tmp"'
tony@Neptune:~$ ssh trinity 'ssh matrix "pwd"'
/home/tony
Вторая команда показывает, что предыдущая команда cd
не имела длительного эффекта.
Из этого вопроса это может сработать:
iconv -f ISO-8859-1 -t UTF-8 infile.txt > outfile.txt