Archivo variable en el script Expect

Archivo variable en el script Expect

Estoy usando este script de espera como archivo de respuesta para un script de shell interactivo:

#!/usr/bin/expect

spawn ./interactivescriptname
expect "Question 1?"
send "something\r"
expect "Question 2?"
send "yes\r"
expect "Password?"
send "somepassword\r"
interact

Lo anterior funciona, pero quiero usar variables de un archivo de entrada.

mis archivos de variables se ven así:

var1="something"
var2="yes"
var3="somepassword"

Normalmente en bash usaría el comando fuente, pero esto no funciona como se esperaba.

¿Algunas ideas?

Respuesta1

Un método sería configurar variables TCL en un archivo (aquí vars) y luego sourceese archivo desde el script principal.

$ cat vars  
set var1 something
set var2 yes
set var3 Hunter2
$ cat script 
#!/usr/bin/env expect
source vars
puts $var3
$ chmod +x script
$ ./script 
Hunter2
$ 

Puede ser bueno utilizar nombres de variables más informativos que varN...

información relacionada