Verwendung:CentOS 6.2
BASH shell
Mein Skript ist ungefähr so:
#!/bin/bash
INSTALL_PATH="Enter install path"
CR="\n"
/bin/su root -c "/usr/bin/expect << EOF
spawn name.run
expect $INSTALL_PATH
send $CR
EOF; ... do more stuff..."
Jetzt fragt meine Datei name.run manchmal „Möchten Sie deinstallieren?“. Wie kann ich dies nach dem ersten Senden als optionales Argument senden?
Antwort1
Sie können mehrere Muster in einen expect
Befehl einfügen
spawn name.run
expect $INSTALL_PATH
send \r
expect {
{Would you like to uninstall?} {
send yes\r
exp_continue
}
eof
}
Beachten Sie, dass Sie „\r“ senden, um die Eingabetaste zu drücken.
Auch das Endwort für ein Here-Docmussalleinstehend in einer Zeile stehen - es kann nicht von "; mehr Zeug" gefolgt werden