#!/bin/sh
#export LOAD_PATH=whatever
#export RUBYLIB=whatever
#export RUBYOPT=whatever
#export RUBYPATH=whatever
#export RUBYSHELL=whatever
#export PATH=$PATH:whatever
exec ruby -x. $0 "$@"
#!/usr/bin/ruby
require 'rubygems'
require 'open4' # or whatever
# rest of ruby script here
Это сценарий оболочки, который запускает ruby с -x, что заставит интерпретатор пропускать строки, пока не найдет #!.*ruby
. Это даст вам шанс восстановить окружающую среду. .
после -x
является noop, вы можете удалить .
или заменить его каталогом. Перед запуском сценария Ruby перейдет на этот диск.
На самом деле я предполагаю, что это не совсем то, что вам нужно, поскольку это можно было бы сделать без хитрости, просто сделав два скрипта, один для оболочки, другой для Ruby. Возможно, список переменных среды, о которых заботится Ruby, поможет ...