Как я могу надежно обнаружить полный путь к исполняемому файлу Ruby? - PullRequest
8 голосов
/ 17 октября 2008

Я хочу написать скрипт, который будет упакован в гем, который изменит его параметры, а затем exec новый процесс ruby ​​с измененными параметрами. Другими словами, что-то похожее на скрипт оболочки, который изменяет свои параметры, а затем выполняет exec $SHELL $*. Для этого мне нужен надежный способ определения пути исполняемого файла ruby, выполняющего текущий скрипт. Мне также нужно получить полные параметры, передаваемые текущему процессу - как параметры Ruby, так и аргументы сценария.

Ответы [ 3 ]

6 голосов
/ 13 июля 2012

Исходный код Rake делает это так:

  RUBY = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']).
    sub(/.*\s.*/m, '"\&"')
4 голосов
/ 19 октября 2008

Если вы хотите проверить Linux: прочитайте файлы:

  • / proc / PID / exe
  • / Proc / PID / CmdLine

Другая полезная информация может быть найдена в / proc / PID dir

0 голосов
/ 21 октября 2009

Для параметров скрипта, конечно, используйте ARGV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...