![](/img/trans.png)
[英]How do I run ruby commands in my bash script without getting “ruby: command not found”
[英]How do I write a bin/script for these bash and ruby commands?
我经常在终端中编写这些命令,但是我不知道如何为它编写脚本。 我能做什么? 这些是我将在bash和irb中连续编写的命令:
# in bash
docker exec -it <some_container> bash
irb
# now everything below is a ruby command
require 'bundler'
Bundler.require
required_load_path = File.expand_path(".")
$LOAD_PATH.unshift(required_load_path) unless $LOAD_PATH.include?(required_load_path)
Dir['config/*.rb'].each { |file| load file }
ENV["RAILS_ENV"] = 'development'
...
我有一个带bin文件夹的ruby项目。 我可以编写什么脚本来自动化所有这些? 我目前遇到了麻烦,因为当我运行docker exec部分时,由于某种原因,irb部分不会再运行。
如果您只想在Docker上执行ruby脚本,则另一种方法是使用所需的命令创建ruby文件:
# rubyscript.rb
puts 'hello'
# ...
并使用docker exec调用它:
docker exec -it <imagename> ruby rubyscript.rb
但是,如果您想运行某些程序并停留在REPL中以执行更多的工作,则可以例如在脚本内调用pry:
# rubyscript.rb
puts 'hello'
# ...
require 'pry'
pry
这将执行您的工作并保持在Docker容器上执行的撬动状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.