【问题标题】:Using #!/usr/bin/expect and bash使用 #!/usr/bin/expect 和 bash
【发布时间】:2014-02-25 15:37:22
【问题描述】:

有什么方法可以将 bash 脚本与 /usr/bin/expect 命令一起使用?

例如,我可以在 usr/bin/expect 脚本中使用 if 语句吗?

【问题讨论】:

  • 零努力?谷歌expect language if
  • 如果你真的想要 bash,而不是 TCL,那么我建议使用 emPTY 而不是 Expect:empty.sf.net

标签: bash expect


【解决方案1】:

这是一个非常简单的脚本,它通过 ssh 从 bash 连接到服务器:

#!/bin/bash

/usr/bin/expect <<EOF
    spawn ssh user@server
    expect {
        "assword:" {
            send -- "1234\r"
        }
    }
EOF

【讨论】:

  • 我真的推荐阅读 Don Libes 的 Exploring Expect
  • 请注意,它只是连接,然后 ssh 会话在期望脚本结束时终止:当 bash 脚本恢复时,它不会让您连接到服务器。
【解决方案2】:

expecttcl 的扩展 - 因此您可以使用 tcl 的编程结构 - 其中包括 'if'。

Tcl 命令手册页可用:tcl.tk/man/tcl8.5/TclCmd/contents.htm

【讨论】:

  • 谢谢 - 添加了对答案的参考
猜你喜欢
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 2014-03-03
  • 2013-04-22
  • 1970-01-01
  • 2020-01-07
  • 2021-05-21
相关资源
最近更新 更多