1

Я написал файл bat, в котором у меня есть следующее:

putty.exe -t -load "ABC" -l username -pw password -m "C:\Users\pathasai\Desktop\abc.txt"

В моем abc.txt я написал несколько команд, которые я хочу выполнить на самом PuTTY, но когда я запускаю файл bat, я не могу выполнить команды. Я получаю команду ошибки не найдена. Например, скажем, наш abc.txt имеет только одну команду: pbrun . Это говорит, что команда не найдена. (Я получаю эту ошибку на терминале замазки.)

Как получить несколько команд для запуска одну за другой из файла abc.txt?

1 ответ1

1

выполнить несколько команд из файла после входа в putty из файла bat

Вы не можете войти в PuTTY. PuTTY - это клиентское приложение SSH, которое не имеет аутентификации.

Вы можете использовать PuTTY для входа на сервер, который предоставляет услугу SSH. Обычно это сервер Linux. Это сервер, который требует входа на него.

В моем abc.txt я написал несколько команд, которые я хочу выполнить на самой замазке

Вы не можете запускать произвольные команды на самой PuTTY.

Вы можете использовать PuTTY для запуска команд в оболочке на сервере.

Эти команды должны присутствовать на сервере и поддерживаться операционной системой сервера.

наш abc.txt имеет только одну команду: pbrun. Это говорит, что команда не найдена.

Это означает, что команда pbrun не является допустимой командой в операционной системе сервера (это не имеет ничего общего с PuTTY).

Не все серверы Linux имеют pbrun:

$ man pbrun
No manual entry for pbrun
$ pbrun
-bash: pbrun: command not found
$ uname
Linux
$

Вы также должны быть осторожны с окончаниями строк в ваших командах. Файлы Windows, отредактированные с помощью блокнота, скорее всего, будут иметь строки, заканчивающиеся двумя управляющими символами ASCII: «Возврат каретки» (CR или Control-M или ^ M) и «Перевод строки» (LF или Control-J или ^ J). Я ожидаю, что PuTTY позаботится об этом, но это может и не произойти (я не проверял это).

$ pwd
/
$ pwd^M
: command not found
$

Обновить

Я использовал Блокнот для создания этого файла "commands.txt":

echo "this command works"
echo
echo "this command works too"
sleep 20 # so I can see

Я использовал эту команду:

C:\temp>"C:\Program Files (x86)\PuTTY\putty.exe" rgb@server -m commands.txt

Я получил этот результат:

this command works

                  this command works too

Я предполагаю, что есть некоторая проблема с настройками stty или PuTTY, влияющая на работу новой строки, но в основном механизм -m работает, и, прилагая некоторые усердные усилия, я ожидал, что смогу заставить его выполнять полезную работу правильно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .