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