是否可以编写连接到Heroku并运行Ruby命令的shell命令?

时间:2015-11-17 18:25:56

标签: ruby macos bash shell heroku

是否可以在OSX上编写以下脚本?

heroku run console
load 'init.rb'

以下 工作:

alias 'heroku_init=heroku run console; load "init.rb"'

shell似乎必须等待Heroku控制台连接,或者需要一种方法将load命令发送到Heroku控制台而不是bash shell。

2 个答案:

答案 0 :(得分:1)

对camilo-santana的大问题答案:

#!/usr/bin/expect -f
set timeout -1
spawn heroku console
expect "irb(main):001:0>"
send "load 'app/init.rb'\r"
interact

也可以使用别名来完成:

alias 'hc=heroku run console -- -r ./app/init.rb'

答案 1 :(得分:0)

您希望它将load 'init.rb'发送到heroku run console程序的标准输入。您可以使用管道运算符在shell中执行此操作:

echo "load 'init.rb'" | heroku run console

这样可行,但请注意它会使控制台挂起,如果你想手动输入更多命令,你可以这样做:

{ echo "load 'init.rb'"; cat } | heroku run console

希望这会有所帮助;)