Arquivo variável no script Expect

Arquivo variável no script Expect

Estou usando este script esperado como um arquivo de resposta para um script de shell interativo:

#!/usr/bin/expect

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

acima funciona, mas quero usar variáveis ​​de um arquivo de entrada.

meus arquivos de variáveis ​​ficam assim:

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

Normalmente no bash eu usaria o comando source, mas isso não funciona como esperado.

Alguma ideia?

Responder1

Um método seria definir variáveis ​​TCL em um arquivo (aqui, vars) e depois sourcenesse arquivo do 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
$ 

Pode ser bom usar nomes de variáveis ​​mais informativos do que varN...

informação relacionada