Я не уверен, правильно ли я понимаю ваш вопрос. Вы пытаетесь создать сценарий оболочки перед запуском другого? В этом случае ответ прост:
#!/bin/env ruby
system "source <path_to_source_file> && <command>"
Если исходный файл содержит переменные, которые ваша команда должна использовать, вы должны export
их. Также возможно установить переменные окружения в вашем скрипте Ruby, используя ENV['<name_of_var>'] = <value>
.
Обновление: 26 января 2010 г. - 15: 10
Вы можете использовать IO.popen, чтобы открыть новую оболочку:
IO.popen("/bin/bash", "w") do |shell|
shell.puts "source <path_to_source_file>"
shell.puts "<command>"
end