Executa vários comandos de um arquivo depois de efetuar login no PuTTY a partir de um arquivo bat

1

Eu escrevi um arquivo bat no qual tenho o seguinte:

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

No meu abc.txt eu escrevi alguns comandos que eu quero que sejam executados no próprio PuTTY, mas quando eu executo o arquivo bat, não consigo executar os comandos. Eu estou recebendo o comando de erro não encontrado. Por exemplo, digamos que nosso abc.txt tenha apenas um comando: pbrun . Está dizendo comando não encontrado. (Eu recebo este erro no terminal de putty.)

Como obtenho vários comandos para executar um após o outro a partir do arquivo abc.txt?

    
por saiyam 08.04.2015 / 17:47

1 resposta

1

run multiple commands from a file after logging into putty from a bat file

Você não pode logar no PuTTY. O PuTTY é um aplicativo SSH cliente que não possui autenticação.

Você pode usar o PuTTY para efetuar login em um computador servidor que esteja fornecendo um serviço SSH. Normalmente, isso seria um servidor Linux. É o servidor que exige que você faça login nele.

In my abc.txt I have written some commands which I want to be executed on putty itself

Você não pode executar comandos arbitrários no próprio PuTTY.

Você pode usar o PuTTY para executar comandos em um shell no servidor.

Esses comandos devem estar presentes no servidor e suportados pelo sistema operacional do servidor.

our abc.txt has just one command: pbrun. It is saying command not found.

Isso significa que o comando pbrun não é um comando válido no sistema operacional do servidor (isso não tem nada a ver com o PuTTY).

Nem todos os servidores Linux têm pbrun :

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

Você também deve ter cuidado com os fins de linha em seus comandos. É provável que os arquivos do Windows editados com o bloco de notas tenham linhas que terminem com os dois caracteres de controle ASCII Carriage-Return (CR ou Control-M ou ^ M) e Line-Feed (LF ou Control-J ou ^ J). Eu esperaria que PuTTY cuidasse disso, mas talvez não (eu não testei isso).

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

Atualizar

Eu usei o Bloco de Notas para criar este arquivo, "commands.txt":

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

Eu usei este comando:

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

Eu tenho esse resultado:

this command works

                  this command works too

Eu imagino que haja algum problema com as configurações stty ou PuTTY afetando a operação da nova linha, mas basicamente o mecanismo -m funciona e, com algum esforço diligente, eu esperaria poder fazer o trabalho útil corretamente. / p>     

por 09.04.2015 / 11:15