Ich habe eine Aufgabe des Erstellens von Docker-Container und die Arbeit durch ihren Lebenszyklus. Zu automatisieren es ich bin mit Shell mit erwarten als Cloud Foundry cli ist interaktiv unter meinem Code:erwarte mit Shell für mehrere Taksks der Wolke Gießerei CLI
#!/usr/bin/expect -f
spawn cf login -a <api url>
#set timeout 30
expect "Email>"
send "email id\r"
expect "Password>"
send "passw0rd"
expect -exact ">"
send "2\r"
Bis oberhalb der Linie, wird der Code als expected.From arbeitet die letzten 2 Zeilen weiter oben ist zu sehen, dass , Ich muss 2 bei '>' eingeben. Danach wird die $ prompt wie unten gezeigt, die mit ‚$‘ endet:
expect "[email protected]:~/PycharmProjects/Trishal- VC/containers$"
send "cf ic init"
Jetzt, nach kommen auf ‚$‘ prompt erwarte ich, dass der Code ‚cf ic init‘ zu akzeptieren, die ein Befehl zu initialisieren der Arbeitsplatz. Wenn es nicht akzeptiert, bleibt die Ausgabe selbst bei '$' und geht nicht weiter. Ich hatte auch unten versucht:
expect -exact "$"
send "cf ic init"
kein Glück Bildschirm bleibt bei Trishal @ Trishal-VirtualBox: ~/PycharmProjects/Trishal-VC/Behälter
$