So habe ich ein Expect-Skript, das an ein virtuelles HPE-Verbindungsmodul ausgeht, um einen Befehl show all auszuführen. Allerdings, wenn ich "Erwartung" die Aufforderung bin "->", Im erhalte eine Fehlermeldung:Linux erwarten einen Bindestrich in der Eingabeaufforderung
bad flag "-> ": must be -glob, -regexp, -exact, -notransfer, -nocase, -i, -indices, -iread, -timestamp, -timeout, -nobrace, or --
while executing
"expect "-> ""
(file "./expect_vc_showall.ziUzpF" line 10)
Hier ist mein Code:
#!/usr/bin/expect -f
set timeout 60
set ip_hostname [lindex $argv 0];
#log_user 0
spawn ssh [email protected]$ip_hostname
expect {
"*yes/no*" { send "yes\r"; exp_continue }
"*assword:" { send "password123\r" }
}
expect "-> "
send "show all\r"
#log_user 1
expect "-> "
send "exit\r"
Ich habe versucht, erwarten zu verwenden - „-> "Aber das bringt mich nur zur Aufforderung und stirbt dann.
Hier ist, was die Eingabeaufforderung wie folgt aussieht:
Last login: Thu Jul 27 17:09:28 2017 from 172.16.100.78
-------------------------------------------------------------------------------
HP Virtual Connect Management CLI v4.41
Build: 4.41-6 (r315367) Mar 5 2015 13:59:31
(C) Copyright 2006-2015 Hewlett-Packard Development Company, L.P.
All Rights Reserved
-------------------------------------------------------------------------------
GETTING STARTED:
help : Displays a list of available subcommands
exit : Quits the command shell
<subcommand> ? : Displays a list of managed elements for a subcommand
<subcommand> <managed element> ? : Displays detailed help for a command
->
Wenn ich nur nicht erwarten, „>“, es auf den ersten subcommand Text stirbt.
Irgendwelche Ideen, wie man das zur Arbeit bringt?
Danke! Joe
Wie wäre es mit Flucht wie '\ ->'? –
Versuchte auch das und es bringt mich nur zur Aufforderung. Schickt die Show nicht alle. – Joe