Ruby on rails 如何在bashshell脚本中的rubyonrails控制台上运行命令?
我想知道如何在RubyonRails控制台的shell脚本中运行ruby命令? 需要说明的是:我有一个shell脚本,它将连接到RubyonRails控制台,但无法从shell脚本在rails控制台内运行命令。请参阅下面的代码片段 我能够成功地从shell脚本进入rails控制台,但无法在shell脚本本身中提供ruby命令 此示例脚本允许我进入rails控制台:Ruby on rails 如何在bashshell脚本中的rubyonrails控制台上运行命令?,ruby-on-rails,shell,Ruby On Rails,Shell,我想知道如何在RubyonRails控制台的shell脚本中运行ruby命令? 需要说明的是:我有一个shell脚本,它将连接到RubyonRails控制台,但无法从shell脚本在rails控制台内运行命令。请参阅下面的代码片段 我能够成功地从shell脚本进入rails控制台,但无法在shell脚本本身中提供ruby命令 此示例脚本允许我进入rails控制台: #!/bin/bash /usr/bin/helpkit-docker.sh --rails-console 但是,当我使用EOF
#!/bin/bash
/usr/bin/helpkit-docker.sh --rails-console
但是,当我使用EOF扩展上述脚本以在rails控制台内运行命令时,它会抛出错误:
#!/bin/bash
/usr/bin/helpkit-docker.sh --rails-console <<EOF
Time.now.strftime("%d/%m/%Y %H:%M")
EOF
#/bin/bash
/usr/bin/helpkit-docker.sh--rails控制台我认为最好的方法是创建一个运行所需ruby代码的ruby脚本,然后在shell脚本中使用rails runner
调用它,如下所示:
#/bin/bash
rails runner脚本/myscript.rb
以及在您的脚本中
put Time.now.strftime(“%d/%m/%Y%H:%m”)
感谢您的回复,@Jorge David下面的代码剪贴,/usr/bin/helpkit-docker.sh——rails控制台实际上将用户切换为deploy,在docker中打开rails控制台实际代码:docker exec——user deploy——it docker name/bin/bash——login-c'id;cd/data/helpkit/current;bundle exec rails console’那么,如何在shell脚本中实现这一点,我的要求是在通过shell脚本访问rails控制台之后,我想运行一些ruby命令。。根据你的建议,我可以在一个ruby脚本中使用我所有的命令,但是我该如何执行这个。。请帮忙。