Ich benutze erwarten, um ein Bash-Skript, das ssh zu 5 Boxen läuft, führt eine aptitude dist-upgrade-d, zip-up die Pakete, dann scps sie zurück in die Originalverpackung.Wie verwende ich erwarten für Wiederholungsfälle, ohne ein langes Skript?
Alle Felder haben das gleiche Passwort und alle Felder erfordern eine Eingabe von "y", um ja zum dist-upgrade zu sagen.
Mein aktueller erwarten Skript mit vielen Wiederholungen der folgenden
lang und chaotisch ist## Original box
expect "password"
send "Password\n"
## Box sshing to
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
Meine Frage ist, wie kann ich „dedupe“ dies so, dass, wenn ein Passwort gefragt wird es das Passwort sendet, und wo eine Fortsetzung gefragt wird, sendet es y. Damit ich muss kommen nicht perfekt, um von dem, was als
Voll Skript unten (manchmal eine Schlüsselprüfung in den Mix geworfen wird, wo ich „ja“ senden):
#!/usr/bin/expect -f
set timeout -1
## This uses manualpatching.sh, used to zip up a list of the latest Debian packages
spawn ./manualpatching.sh
## BOX1
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
## BOX2
expect "password"
send "Password\n"
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
expect "password"
send "Password\n"
expect "connecting"
send "yes\n"
## BOX3
expect "password"
send "Password\n"
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
expect "password"
send "Password\n"
## BOX4
expect "password"
send "Password\n"
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
expect "password"
send "Password\n"
## BOX5
expect "password"
send "Password\n"
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
expect "password"
send "Password\n"
## BOX6
expect "password"
send "Password\n"
expect "password"
send "Password\n"
expect "want to continue?"
send "y\n"
expect "password"
send "Password\n"
## END
expect eof
Bitte zeigen Sie Ihre Skript! – Gaurav
Ok, ich werde den Beitrag jetzt bearbeiten –
Es ist da, lassen Sie mich wissen, was Sie denken, danke –