Probleme bei der Verwendung von EXPECT ist ein BASH-Shell-Skript

6676
FernandoSBS

Dies ist der Code (Bash-Skript):

echo "Pass for router:" read -s pass   /usr/bin/expect <<EOD spawn ssh 192.168.10.1 -l root 'opkg list-installed' > list-installed.txt #echo @pass expect "*password:*" send "$pass\r" interact EOD 

Das Problem ist, dass es nichts zurückgibt. Es erstellt nicht die lokale Datei "list-installiert.txt"

Was könnte daran falsch sein?

0

1 Antwort auf die Frage

4
glenn jackman

Einfache Anführungszeichen haben keine besondere Bedeutung. Verwenden Sie doppelte Anführungszeichen.

Darüber hinaus verwenden Sie expect eofstattdessen interact, da nach der Eingabe des Kennworts nichts mehr zu tun ist, mit dem Sie tatsächlich interagieren können. Sie warten nur, bis der Befehl abgeschlossen ist.

+1 "Expect Eof" war der Schlüssel für meine Situation. FractalSpace vor 9 Jahren 1