ruby-on-rails - 如何在 bash shell 脚本内的 ruby-on-rails 控制台上运行命令?
问题描述
我想知道如何在 shell 脚本内的 ruby on rails 控制台中运行 ruby 命令?需要明确的是:我有一个 shell 脚本,它将连接到 rails 控制台上的 ruby,但无法从 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
错误:输入设备不是 TTY
我希望从 rails 控制台获取时间并显示在 shell 终端中
解决方案
我相信最好的方法是创建一个运行您想要的 ruby 代码的 ruby 脚本,然后在您的 shell 脚本中使用 调用它rails runner
,如下所示:
#!/bin/bash
rails runner script/myscript.rb
在你的脚本中
puts Time.now.strftime("%d/%m/%Y %H:%M")
推荐阅读
- file-upload - SIM800C GSM AT COMMAND 如何以编程方式上传 .amr 音频文件
- aws-codebuild - AWS CodeBuild 由非 root 用户使用 `run-as` 构建规范
- javascript - 如何从 div[html+jquery] 中获取文本
- c++ - 如何在透视图中绘制文本
- c - 为什么 printf("value: %f",10/2); 输出 0.000000?
- machine-learning - 如何修复“ValueError:发现样本数量不一致的输入变量:[32979, 21602]”?
- vba - ThisDocument 对象引用
- amazon-web-services - 如何从 Azure DevOps 部署到 AWS Kubernetes
- debugging - Code lite 中的调试器会立即打开和关闭
- bash - 仅在找到时打印文件名