Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在bashshell脚本中的rubyonrails控制台上运行命令?_Ruby On Rails_Shell - Fatal编程技术网

Ruby on rails 如何在bashshell脚本中的rubyonrails控制台上运行命令?

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

我想知道如何在RubyonRails控制台的shell脚本中运行ruby命令? 需要说明的是:我有一个shell脚本,它将连接到RubyonRails控制台,但无法从shell脚本在rails控制台内运行命令。请参阅下面的代码片段

我能够成功地从shell脚本进入rails控制台,但无法在shell脚本本身中提供ruby命令

此示例脚本允许我进入rails控制台:

#!/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脚本中使用我所有的命令,但是我该如何执行这个。。请帮忙。