小编Sha*_*hak的帖子

在 Expect 脚本中交互无法工作

我在 bash 脚本中有以下期望脚本,但我不确定为什么交互命令不起作用。

expect <<-EOS
    #!/usr/bin/expect
    set timeout $EXP_TIMEOUT
    send_user "\n The timeout being used is $EXP_TIMEOUT \n"
    send_user "\nLogging into remote host via SSH:\n"
    spawn ssh -q -o ConnectTimeout=$SSH_TIMEOUT -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${hostname}
    expect "*assword*"
    send -- "$secret\r"
    expect {
            "*assword*" {
                    send \x03
                    puts "\nIncorrect Password\n"
            }
            "$prompt" {
                    send -- "/usr/seos/bin/sesu - $user\r"
                    expect "*assword*"
                    send -- "$secret\r"
                    expect "$prompt"
                    send -- "id\r"
                    expect "$prompt"
                    send -- "hostname -s\r"
                    interact
            }
    }
    expect eof
Run Code Online (Sandbox Code Playgroud)

EOS 谢谢大家的帮助!

bash tcl expect

0
推荐指数
1
解决办法
730
查看次数

标签 统计

bash ×1

expect ×1

tcl ×1