2012-12-06 05:54:59 +0000 2012-12-06 05:54:59 +0000
20
20

Как запустить командный файл в PuTTY с помощью автоматического входа в командную строку?

Я использую следующее для автоматического входа на удаленный сервер, а затем запускаю команды, перечисленные в commands.txt, например:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt содержит следующее:

ps -elf|grep 'sometext'

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

я не понимаю, что здесь происходит. Ошибаюсь ли я в своем подходе или мне нужно сделать больше шагов, чтобы сделать паузу окна PuTTY на некоторое время перед выходом?

Ответы (5)

11
11
11
2013-05-03 06:19:49 +0000

Сначала нужно создать отдельный файл, содержащий все команды, которые вы хотите выполнить.

Пример: Я хотел бы загрузить и установить Drupal на свой домен с помощью PuTTY. Для этого необходимо:

Сначала создать .txt файл. Внутри этого файла находятся команды. Мои: “drush dl drupal” следующая строка: “drush si –account-name=[имя учетной записи] –account-pass=[передача учетной записи] –db-url=mysql://[user]:[pass]@localhost/[имя базы данных] –y

После сохранения этого файла создайте файл BAT или впишите его в CMD-запрос:

  • ssh. cmd
  • @echo on [for you to see what’s going on]
  • [Navigate to your PuTTY installation. Mine is:] cd C:\Program Files\Putty
  • Start putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
11
11
11
2012-12-06 06:10:14 +0000

Вы должны использовать plink.exe (интерфейс командной строки к задним концам PuTTY), а не putty.exe

Вы получите это со страницы PuTTY download page

Без plink:

Кажется, что единственный способ - это использовать опции -log <logfile>, а затем распечатать его содержимое и удалить его.

2
2
2
2012-12-06 11:38:36 +0000

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

Однако, когда я пытаюсь сделать это, появляется новое окно для PuTTY, но закрывается и выходит сразу же после входа

Ваша сессия заканчивается сразу же после выполнения команды, и PuTTY закрывает окно по умолчанию. Обратитесь к документации PuTTY о том, как изменить это поведение для вашей сессии.

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.
2
2
2
2015-05-02 10:13:57 +0000

Не будет никаких проблем, если вы просто захотите создать пакетный файл, чтобы открыть Unix-машину. Ниже приведен пример:

"PuTTY path" -ssh machinename -l username -pw password

Путь PuTTY должен быть в двойных кавычках, например “C:\Program Files\putty\putty.ext”

machinename = machineinename без двойных кавычек

password = с кавычками

0
0
0
2014-05-13 09:11:23 +0000

В дополнение к ответу Aviram:

Ниже приведен пример того, как вы будете выполнять команды PuTTY из командной строки:

  • Сначала перейдите в каталог установки PuTTY, например C:\Program Files\PuTTY, а затем выполните команду, приведенную ниже:

Похожие вопросы

10
19
12
7
5