Python3.6 和 Centos 7 上的 CSHELL 脚本 - 需要逐步执行提示
Python3.6 and CSHELL Script on Centos 7 - need to step through prompts
我目前正在处理我需要在我的服务器上 运行 的 cshell 脚本,我无法修改 cshell 脚本。我想自动执行 运行 脚本,我已成功启动脚本,但脚本有问题需要回答 - 示例:
为 Linux 选择 1,为 Windows 选择 2,或为 3 退出:
系统主机名是什么:
等等.......
我希望能够通过python脚本来回答这些问题。我已经搜索了标准 Google 搜索,但我对结果不熟悉似乎没有什么是答案 - 有没有人知道任何可以执行此功能的模块,以及一些我可以看到的很好的例子来帮助把这些放在一起的理解,任何建议或建议表示赞赏?感谢您的考虑!
驱动交互式工具的规范工具是 expect
。
有关详细信息,请参阅 https://core.tcl.tk/expect/index。
根据您的示例,您的预期脚本将类似于:
expect -re "Choose 1.*exit:"
send -- "1\r"
expect "hostname:"
send -- "$hostname\r"
一旦您的 expect 脚本开始工作,您就可以简单地从 Python.
中调用它
我目前正在处理我需要在我的服务器上 运行 的 cshell 脚本,我无法修改 cshell 脚本。我想自动执行 运行 脚本,我已成功启动脚本,但脚本有问题需要回答 - 示例:
为 Linux 选择 1,为 Windows 选择 2,或为 3 退出:
系统主机名是什么:
等等.......
我希望能够通过python脚本来回答这些问题。我已经搜索了标准 Google 搜索,但我对结果不熟悉似乎没有什么是答案 - 有没有人知道任何可以执行此功能的模块,以及一些我可以看到的很好的例子来帮助把这些放在一起的理解,任何建议或建议表示赞赏?感谢您的考虑!
驱动交互式工具的规范工具是 expect
。
有关详细信息,请参阅 https://core.tcl.tk/expect/index。
根据您的示例,您的预期脚本将类似于:
expect -re "Choose 1.*exit:"
send -- "1\r"
expect "hostname:"
send -- "$hostname\r"
一旦您的 expect 脚本开始工作,您就可以简单地从 Python.
中调用它