期待脚本等待Heroku ssh提示

时间:2017-09-13 02:57:34

标签: heroku expect heroku-cli

我想使用expect脚本在Heroku dynos上运行SSH命令(例如:Get IP of Heroku dynos

登录dyno时的确切输出是:

 ▸    heroku-cli: update available from 6.12.9 to 6.14.21-d83c94b
Establishing credentials... done
Connecting to <dyno> on ⬢ <app>...
~ $

我确定更新后第一行会消失。实际发生此身份验证/登录需要几秒钟。

一个简单的期望脚本可能是这样的:

#!/usr/bin/expect
spawn "./ssh_into_heroku"
expect "xxxx"
send "my_command"

我已经尝试了expect "~ $" { send "my_cmd" }expect "~ $ " { send "my_cmd" },但两项都没有工作,我也不知道如何调试它。

&#34;期待什么&#34;使这项工作的部分?

1 个答案:

答案 0 :(得分:1)

您正在等待以空格,美元符号和(我猜测)另一个空格结束的提示。你会用这个:

set prompt_regex { \$ $}
expect -re $prompt_regex