Expect 스크립트의 변수 파일

Expect 스크립트의 변수 파일

저는 이 Expect 스크립트를 대화형 셸 스크립트의 응답 파일로 사용합니다.

#!/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 명령을 사용하지만 Expect에서는 작동하지 않습니다.

어떤 아이디어가 있나요?

답변1

한 가지 방법은 파일(여기 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유익한 변수 이름을 사용하는 것이 더 나을 수도 있습니다 .

관련 정보