it-swarm.com.de

Erwarten Sie ein Skript, das einen Benutzernamen und ein Passwort eingibt

Ich versuche, ein Erwartungsskript auszuführen, das jedes Mal, wenn die Eingabeaufforderung das Kennwort von user @ blah ausgibt, das Kennwort eingibt. Ich habe das folgende Erwartungsskript, aber es scheint zu funktionieren.

Kann mir jemand sagen, was ich falsch mache? Diese Eingabeaufforderung wird mehrmals über den Befehl aufgerufen, den ich ausführe. Daher muss das Kennwort jedes Mal eingegeben werden, wenn das Kennwort von user @ blah angezeigt wird.

#!/usr/bin/expect
global env
set timeout 10
spawn command that requires password
expect "^user"
send "password\r"

Bitte und Dankeschön.

4
myusuf3

Ich vergleiche nur das letzte Bit mit ein weiteres Beispiel, das ich gesehen habe :

spawn ssh [email protected]$ipaddr $scriptname $arg1
match_max 100000

expect "*?assword:*"
send -- "$password\r"

# send blank line (\r) to make sure we get back to gui
send -- "\r"

expect eof

Ihre Sendesyntax scheint sich geringfügig zu unterscheiden. Und sie lassen auch einen ziemlich liberalen Regex zu. Die letzten Bits könnten auch einige Antworten haben.

3
Oli