2017-02-24 4 views
0

Ich habe einen Befehlnach einem Wort suchen in erwarten Ausgang

expect "~]#" { send "virsh list --all\r"} 

und der Ausgang wäre

erwarten
[[email protected] ~]# virsh list --all 
Id Name       State 
---------------------------------------------------- 
399 lht1duplexvm-0     running 
-  rhelvm       shut off 

I $ expect_out (Puffer) und haben verwenden möchten eine if-Anweisung zu tun etwas, wenn es läuft und etwas anderes tut, wenn nicht. Wie kann ich in das Ergebnis von $ expect_out (Puffer) einlesen?

Antwort

1
expect "~]#" 
send "virsh list --all\r" 

# I assume another prompt follows this 
expect "~]#" 

if { [regexp {running} $expect_out(buffer)] } { 
    do-something-for-running-process 
} else { 
    do-something-for-no-running-process 
} 

könnten Sie tun auch

if {[string first "running" $expect_out(buffer)] >= 0} { 
Verwandte Themen