Как запустить файл скрипта удаленно, используя SSH - PullRequest
49 голосов
/ 25 июня 2009

Я хочу запустить скрипт удаленно. Но система не распознает путь. Он жалуется, что "нет такого файла или каталога". Я правильно это использую?

ssh kev@server1 `./test/foo.sh`

Ответы [ 6 ]

141 голосов
/ 09 ноября 2011

Вы можете сделать:

ssh user@host 'bash -s' < /path/script.sh
43 голосов
/ 25 июня 2009

Backticks запустит команду в локальной оболочке и поместит результаты в командную строку. То, что вы говорите, это «выполнить ./test/foo.sh и затем передать вывод, как если бы я набрал его здесь в командной строке».

Попробуйте следующую команду и убедитесь, что это путь от вашего домашнего каталога на удаленном компьютере до вашего сценария.

ssh kev@server1 './test/foo.sh'

Также скрипт должен находиться на удаленном компьютере. По сути, вы входите на удаленный компьютер, используя указанную команду в качестве оболочки. Вы не можете запустить локальный скрипт на удаленном компьютере, как этот (если только у меня нет забавного трюка).

5 голосов
/ 02 февраля 2017

Если вы хотите выполнить локальный сценарий удаленно, без сохранения этого сценария, вы можете сделать это следующим образом:

cat local_script.sh | ssh user@remotehost 'bash -'

Это работает для меня как шарм.

Я делаю это даже из Windows в Linux, если на вашем компьютере Windows установлен MSYS.

1 голос
/ 25 июня 2009

Я не знаю, возможно ли запустить его просто так.

Обычно я сначала копирую его с помощью scp, а затем регистрируюсь, чтобы запустить его.

scp foo.sh user@host:~
ssh user@host
./foo.sh
0 голосов
/ 26 февраля 2016

Мне удалось вызвать скрипт оболочки с помощью этой команды:

ssh ${serverhost} "./sh/checkScript.ksh"

Конечно, checkScript.ksh должен существовать в каталоге $HOME/sh.

0 голосов
/ 05 февраля 2013

Сделайте скрипт исполняемым пользователем "Kev" , а затем удалите команду try it, выполнив команду sh kev@server1 /test/foo.sh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...