![](/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.