Erwarten Sie ein Skript innerhalb eines optionalen Bash-Skripts

Erwarten Sie ein Skript innerhalb eines optionalen Bash-Skripts

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 expectBefehl 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

verwandte Informationen