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

如何为这些bash和ruby命令编写bin/脚本?,ruby,bash,Ruby,Bash,我经常在终端中编写这些命令,但我不知道如何为它编写脚本。我能做什么?以下是我将在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

我经常在终端中编写这些命令,但我不知道如何为它编写脚本。我能做什么?以下是我将在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'
...
bash中的
#
docker exec-it bash
内部评级
#现在,下面的所有内容都是ruby命令
需要“bundler”
捆绑机
必需的\u加载\u路径=文件。展开\u路径(“.”)
$LOAD\U PATH.unshift(必需的加载路径),除非$LOAD\U PATH.include?(必需的加载路径)
Dir['config/*.rb'].each{| file | load file}
环境[“RAILS_ENV”]=“开发”
...

我有一个带有bin文件夹的ruby项目。我可以编写什么脚本来自动化所有这些?我现在遇到了麻烦,因为当我运行docker exec部分时。。。由于某些原因,irb部分下一步不会运行。

如果您只想在Docker上执行ruby脚本,另一种方法是使用所需的命令创建ruby文件:

# rubyscript.rb
puts 'hello'
# ...
并称之为docker exec:

docker exec -it <imagename> ruby rubyscript.rb

这将在Docker容器上执行您的东西并停留在pry中。

查看类似slop或thor的cli工具。然后可以从命令行直接调用它,作为
ruby/script/location参数
# rubyscript.rb
puts 'hello'
# ... 
require 'pry'
pry