2016-04-20 15 views
0

Ich versuche, etwas Grundsätzliches mit expect zu tun:wie kann ich in ein Bash-Variable verwenden, erwarten Skript

#!/usr/bin/expect -f 

# define location variable; will be numeric eg 1234321 
v_dir=$(cat /tmp/patch.txt) 

spawn sftp [email protected]@server.company.com 
expect "password :" 
send "Chu6!0ck\r" 
expect "patch" 
send "cd $v_dir\r" 
interact 

Grundsätzlich versuche ich, von einem Remote-Server Patch bekommen einen Patch zu automatisieren. Die Patch-Nummer wird von einem aufrufenden Skript abgeleitet - jetzt brauche ich expect, um diese Variable und cd zu lesen.

+0

nehmen Sie sich bitte die Zeit, um Ihren Code als Code zu formatieren, das nächste Mal. –

Antwort

1

Die kurze Antwort ist Expect-Syntax in einem Expect-Programm verwenden.

set v_dir [exec cat /tmp/patch.txt] 
+0

Oder lesen Sie die Datei vermutlich direkt mit tcl. –

+0

Sicher. Der Aufruf an die Katze wird jedoch kein großer Erfolg sein. –

+0

set v_dir [exec cat/tmp/patch.txt] funktioniert, also danke! – raster6

Verwandte Themen