相关疑难解决方法(0)

在bash脚本中嵌入expect

我之前已经意识到类似的问题,我看着它们并尝试应用我学到的东西,并有以下脚本:

#!/bin/bash

if [ `hostname` = 'EXAMPLE' ]
then

/usr/bin/expect << EOD

spawn scp -rp host:~/outfiles/ /home/USERNAME/outfiles/
expect "id_rsa':"
send "PASSWORD\r"
interact

spawn scp -rp host:~/errfiles/ /home/USERNAME/errfiles/
expect "id_rsa':"
send "PASSWORD\r"
interact

expect eof

EOD

echo 'Successful download'
fi
Run Code Online (Sandbox Code Playgroud)

不幸的是它似乎不起作用,我收到一条错误消息:

spawn scp -rp host:~/outfiles/ /home/USERNAME/outfiles/
Enter passphrase for key '/home/USERNAME/.ssh/id_rsa': interact: spawn id exp0 not open
    while executing
"interact"
Run Code Online (Sandbox Code Playgroud)

我不知道它意味着什么,为什么它不起作用.但是,当我使用非嵌入式期望脚本编写上述代码时:

#!/usr/bin/expect

spawn scp -rp host:~/outfiles/ /home/USERNAME/outfiles/
expect "id_rsa':"
send "PASSWORD\r"
interact

spawn scp -rp host:~/errfiles/ /home/USERNAME/errfiles/
expect "id_rsa':"
send "PASSWORD\r" …
Run Code Online (Sandbox Code Playgroud)

bash expect

5
推荐指数
1
解决办法
6163
查看次数

标签 统计

bash ×1

expect ×1