Kitt - Automatisierungsprozess

446
tanoMandanga

Ich habe Probleme beim Ausführen einer automatisierten PuTTy-Instanz. Ich habe einen Code, der aus einem Excel-VBA-Prozess erstellt wird, dessen Ausgabe der Benutzername, das Kennwort und eine Reihe von Befehlen sind, einschließlich cd, vi und perl.

Obwohl es in Teilen funktioniert, kann ich das nicht alle zusammen ausführen. Ich konnte zwischen den Befehlen keine richtige Warteinstanz finden (der Schlaf funktioniert nicht) und ist am Ende ein riesiges Durcheinander.

Ich weiß, dass Schlaf nicht der beste Ansatz ist, aber die aktuelle Situation einschätzen kann. Ich weiß auch nicht, wie man eine richtige Textbearbeitungsinstanz erstellt und ob Bash ein viel besserer Weg wäre.

Siehe Code unten:

username password sleep 3 sudo su password cd /data/filebase; sleep 3 vi host.txt :imap ii <Esc> :1,$d i referenceinformacion ii :wq! sleep 3; cd ..; cd .. perl runaway.pl -d filebase -u username -w password perl fetch.pl; sleep 3 exit; sleep 1; exit 

Die Ausgabe sollte sauber sein, aber alle Zeilen werden durch das Fenster gezogen. Die Idee dahinter ist, dass Sie von Excel aus in der Lage sein sollten, den Code zum Einfügen in Putty zu haben, indem Sie sich nur beim Server anmelden.

dh. Öffnen Sie putty, geben Sie Hostnamen und Port ein, und fügen Sie nach dem Öffnen einfach den gesamten Code ein, der das gesamte Material enthält

0
Muss Excel mit Tags versehen werden? Soweit ich verstehe, ist Ihre Frage / Problem mit Putty / Linux und nicht mit Excel? BruceWayne vor 5 Jahren 0

1 Antwort auf die Frage

0
Hayden Thring

Erstellen Sie ein Bash-Skript und geben Sie das Kennwort mit sshpass an ssh. Dadurch wird es noch einfacher (weniger Eingaben) als mit dem, was Sie versuchen. Übergeben Sie die Params an das Bash-Skript und greifen Sie mit $ 1 zu

Ich dachte daran, Putty mit ** putty.exe -ssh host -u benutzer -pw pass ** autologin zu haben und dann zwei .sh im Haus zu speichern, so dass mein Code nach erfolgreichem Login auf: `command1.sh`` reduziert wurde Informationen, die in ** vi ** gespeichert werden würden, aber ich würde ** sed ** `` command2.sh` `exit` verwenden tanoMandanga vor 5 Jahren 0