Expect
Expect 腳本中的變數文件
我正在使用這個期望腳本作為互動式 shell 腳本的應答文件:
#!/usr/bin/expect spawn ./interactivescriptname expect "Question 1?" send "something\r" expect "Question 2?" send "yes\r" expect "Password?" send "somepassword\r" interact
以上有效,但我想使用輸入文件中的變數。
我的變數文件如下所示:
var1="something" var2="yes" var3="somepassword"
通常在 bash 中我會使用 source 命令,但這在預期中不起作用。
有任何想法嗎?
一種方法是在文件(此處為
vars
)中設置 TCL 變數,然後source
從主腳本中設置該文件。$ 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 $
使用比
varN
…