2016-06-21 16 views
1

Ich führe einen Befehl in Linux Remote-Rechner mit Plink (aus Batch-Datei in Windows).Wie kann ich einen Befehl beantworten, der in Plink eingegeben werden muss?

Zum Beispiel:

plink.exe -ssh [email protected] -pw pass -m testCommands.txt >> uninstall.log 

In testCommands.txt ich einen Befehl, die Deinstallation von Anwendung ausführen, das Problem ist, dass das Kommando über „deinstallieren“ erfordern eine Antwort (y oder n), Wie kann ich senden antworte zusätzlich zu dem, was ich schon sende?

Hier ist die Frage habe ich:

[7hAre Sie sicher, dass Sie vollständig „Anwendung“ und alle seine Komponenten entfernen?
Ja [y, Enter], No [n]“

+0

Hat meine Antwort Ihr Problem geklärt? Wenn ja, dann überlege dir bitte, ob du es als Antwort akzeptierst - indem du auf das grüne Häkchen neben der Stimmenzahl klickst. Wenn nicht, sag bitte, was nicht funktioniert hat, damit ich oder jemand anderes dir weiter helfen kann. Vielen Dank. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

Antwort

1

Es gibt mehrere Optionen ...

  • Verwenden Sie eine -y oder Auto-confirm-Option auf dem Befehl, der die Software entfernt, zB

    pkg rm -yes somePackacge 
    
  • ein Rohr mit dem yes, zu senden, so dass der Befehl, den Sie in PLINK laufen wie

    sieht
    printf "Yes\n" | pkg rm some_package 
    

    oder

    yes | pkg rm some_package 
    
  • Machen Sie den Befehl, den Sie auf dem Linux-Rechner laufen auf expect basieren, die Ihren Befehl remove spawn kann, wait für eine Frage und send es dann eine Bestätigung. Einige expect Beispiele here.