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