繁体   English   中英

如何为这些bash和ruby命令编写bin /脚本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM