是否可以编写连接到Heroku并运行Ruby命令的shell命令?
是否可以在OSX上编写以下脚本?
heroku run console load 'init.rb'
以下不起作用:
alias 'heroku_init=heroku run console; load "init.rb"'
看来shell必须等待Heroku控制台连接,或者需要一种方法将load
命令发送到Heroku控制台而不是bash shell。
对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'
你希望它将load 'init.rb'
发送到heroku run console
程序的标准输入。 您可以使用管道运算符在shell中执行此操作:
echo "load 'init.rb'" | heroku run console
这有效,但请注意它会使控制台挂起,如果您想手动输入更多命令,您可以执行以下操作:
{ echo "load 'init.rb'"; cat } | heroku run console
希望这可以帮助 ;)
- 如何编写启动tmux会话的shell脚本,然后运行ruby脚本
- / usr / bin / env:ln:符号链接的级别太多
- 脚本在命令行中成功执行,但不是作为cronjob执行
- RVM不断向我的PATH添加目录,然后抛出警告未正确设置PATH
- .gsub(/ \ … /,“”)。worub(/ \(/,“”)。gsub(/ \)/,“”)。gsub(/ \ localhost /,“”)<=这是少数
- RubyGems + Cygwin:ruby.exe找不到POSIX路径
- VSCode将调试shell更改为在windows上进行bash
- 在cron中设置路径,以便它可以找到ruby
- 打开终端时正确的Ruby版本