2013-02-21 5 views
0

Может ли кто-нибудь помочь мне создать сценарий оболочки. мой скрипт что-то вроде этого. Я очень новичок в сценариях оболочки.shell scripting for ssh

!/Bin/Баш
SSH пользователь @ сервер тест
MkDir

«На самом деле то, что я пытался сделать это, зайдите на мой сервер, и выйти оттуда после создания каталога в сервере, запустив сценарий оболочки на моем локальном компьютере . Но после выполнения первой команды он запросит пароль для SSH и войдет на сервер. Остающийся код не будет выполняться в server.when я выйду с сервера набрав CTRL + D, код remaning выполнит на моей локальной машине. Что мне нужно? для выполнения
оставшегося кода на сервере и автоматического выхода из сервера. "

+0

Также смотрите здесь: http://serverfault.com/questions/215756/how-do-i-run-a-local-bash-script-on-remote-machines-via-ssh – nwinkler

+0

возможный дубликат [как использовать ssh для запуска сценария оболочки на удаленной машине?] (http://stackoverflow.com/questions/305035/how-to-use-ssh-to-run-shell-script-on-a -remote-machine) – nwinkler

+0

Точный ответ, который я хочу, получил по ссылке, предоставленной nwinkler.Thanks dude.You спас мой день :) –

ответ

0

Вы можете использовать модуль Python под названием Fabric. Ткань - потрясающий модуль, и он служит именно вам. Вам нужно установить python и добавить к нему модуль Fabric.

Посмотрите на official site.

+0

Вы можете написать файлы fab и вы можете запустить эти файлы fab/s в виде командных команд из сценария оболочки. Экономит много усилий! –

+0

Привет, Амит, Спасибо за быстрый ответ. Я отредактировал свой вопрос для уточнения. Пожалуйста, посмотрите и помогите мне с хорошим решением. –

1

Необходимо выполнить команду, выполняемую на удаленном сервере, в той же строке, что и вызов ssh. Например:

ssh [email protected] "mkdir test" 

Если вы хотите запускать несколько команд, разделите их на два столбца. Например:

ssh [email protected] "cd /tmp/ ; mkdir test ; echo 'Done'" 

Или вы можете просто скопировать сценарий, а затем отключить его. Например:

scp remote.sh [email protected]:/tmp/remote.sh 
ssh [email protected] "/tmp/remote.sh" 
+0

Привет Спасибо за ответ troelskn. Infact Мне нужен файл shellscript, который должен запускаться на локальном компьютере и который должен создать каталог на удаленной машине. –

+0

, хотя этот ответ является наиболее подходящим, в качестве альтернативы вы также можете посмотреть команду 'ожидать'. – anishsane