2012-04-10 6 views
0

Könnten Sie mir bitte helfen, einen Beispielcode zu schreiben, um das Remote-System (über ssh) mit Expect in Shell-Skript zu verbinden.wie in Shell-Skript zu verwenden ist

Bitte finden Probe Stück Code geschrieben, wie unten angegeben ..

#!/bin/bash 
HOST="148.147.179.118" 
USER="root" 
PASS="spirit" 
expect -c " 
      # exp_internal 1 # uncomment for debugging 
      spawn ssh [email protected]$HOST 
      expect { 
       "*password:*" { send $password\r\n; interact } 
       eof { exit } 
      } 
      exit 
     " 

Am erhalte die Fehlermeldung „* Befehl nicht gefunden *, für ein Kennwort eingeben muß, die Verbindung mit dem System nach dem Passwort zu geben, aber nicht zurückkehren von dem entfernten System.

kann mir jemand mit etwas Lösung helfen.

+0

werfen Sie einen Blick hier: http://stackoverflow.com/questions/5174813/use-expect-in-shell-script –

+0

Wenn Sie nichts anderes mit erwarten hier tun, verwenden Sie stattdessen SSH-Schlüssel. –

Antwort

1

Unter anderem lassen Sie mich beachten Sie, dass Sie "Markierungen im Skript, so dass Sie nicht wirklich erwarten können, verpacken Sie das Ganze innen "Marken können Sie?

Kann ich stattdessen die Verwendung von Shell "HERE" -Dokumenten vorschlagen? Lesen Sie die Shell-Manpage für den Operator <<, wenn Sie nicht damit vertraut sind.