У меня уже настроен агент ssh, и я могу запускать команды на внешнем сервере в скрипте Bash, выполняя такие вещи, как:
ssh blah_server "ls; pwd;"
Теперь, что я действительно хотел бы сделать, это запустить много длинных команд на внешнем сервере. Заключать все это в кавычки было бы довольно уродливо, и я бы действительно предпочел избегать ssh'ing несколько раз, чтобы избежать этого.
Итак, есть ли способ, которым я могу сделать это за один раз, заключенный в скобки или что-то? Я ищу что-то вроде:
ssh blah_server (
ls some_folder;
./someaction.sh;
pwd;
)
В принципе, я буду рад любому решению, если оно чистое.
редактировать
Чтобы прояснить, я говорю об этом как о части большего сценария bash. Другим людям может понадобиться разобраться со сценарием, поэтому я бы хотел сохранить его в чистоте. Я не хочу иметь bash-скрипт с одной строкой, которая выглядит следующим образом:
ssh blah_server "ls some_folder; ./someaction.sh 'some params'; pwd; ./some_other_action 'other params';"
потому что это очень некрасиво и трудно читать.
scp
, ssh
и выполнение. Это будет самый чистый путь, я думаю.
ssh
вызовом?