it-swarm.com.ru

как запустить файл сценария удаленно с помощью SSH

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

ssh [email protected] `./test/foo.sh`
43
Progress Programmer

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

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

ssh [email protected] './test/foo.sh'

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

41
psanf

Что вы можете сделать, это.

ssh [email protected] 'bash -s' < /path/script.sh
133
German Attanasio

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

cat local_script.sh | ssh [email protected] 'bash -'

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

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

3
Computer Mage

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

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

scp foo.sh [email protected]:~
ssh [email protected]
./foo.sh
1
Macarse

Сделайте скрипт исполняемым пользователем "Kev" и затем удалите попытку, запустив команду sh [email protected] /test/foo.sh

0
Milind Jindal

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

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

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

0
Amit Singh