是否可以从其他期望脚本(在 bash 中调用)访问预期生成的进程



我有一个期望脚本,可以打开一个telnet会话并执行授权。执行授权后,我希望能够从 bash 调用其他期望脚本,这些脚本在同一会话中执行各种操作。

可能吗?

不完全得到你想要的,因为如果你提供一些代码或脚本,那么击球,但无论如何我只有 bash 脚本,它只打开 telnet 会话,这是你想要的第一部分,现在让我知道下一部分在通过脚本时,这样我就可以根据需要修改我的脚本。

#!/bin/bash
testUserAction()
{
     expect<<EOF
     set timeout 200
     spawn telnet $1
     expect "login:"
     send "testuserr"
     expect "Password"
     send "12345678r"
      ;;;;;;;;;;;;;#rest of expect which you want
    EOF
}
testUserAction 171.172.12.1

可以参见以下示例:

#!/usr/local/bin/expect
set user "user"
set host "host"
set pass "password"
spawn telnet $host
set timeout 10
expect {
    timeout {
        puts "Unable to connect to $host"
        exit 1
    }
    "login: " {
        send -- "$userr"
        exp_continue
    }
    "assword: " {
        send -- "$passr"
    }
}
#Call the other expect script on host
send -- "./test.exp $userr"
expect {
    "($user)" {
        puts "OK got it!"
    }
}

然后是test.exp脚本,它应该在主机上的用户主目录中

#!/usr/local/bin/expect
set name [lindex $argv 0]
puts "Welcome ($name)"

相关内容

  • 没有找到相关文章

最新更新