Я хочу запустить скрипт локальной оболочки на удаленном компьютере с SSH. Как я могу это сделать?
Ответ Phoibos - работа для меня.
ssh user@remotehost "bash -s" < local_script.sh
Но вы должны быть уверены, что ваш скрипт явно вызывает exit, или вы останетесь в журнале на удаленном сервере после выполнения скрипта.
Чтобы быть кратким, не забудьте поставить это в конце local_script.sh
:
exit 0
ssh user@remotehost "bash -s" < local_script.sh
-s
делает bash считанным со стандартного ввода.
Если вам нужно передать аргументы в ваш скрипт:
ssh user@remotehost "bash -s" -- < local_script.sh "your_arg" "--aswitch" "avalue"
Обратите внимание на двойную черту --
(обозначающую конец параметров команды) и кавычки вокруг аргументов .