Я хотел бы запускать скрипт ruby один или два раза в день на моем MacBook под управлением OS X Yosemite.
Проблема в том, что у меня в настоящее время есть три версии Ruby в моей системе, включая 1.8.7 и 2.2.1, ни с одной из которых не будет работать скрипт. Так я и говорю rvm use system
которая переключается на другую версию, хотя я не знаю, как узнать, какая из них (как rvm current
просто отвечает «система»). И тогда я смогу запустить сценарий счастливо.
Однако, когда я создаю этот маленький скрипт:
#!/bin/bash
rvm use system
/Users/jonathan/Library/Scripts/slogger/slogger
Он не побежит из раковины, говоря:
RVM не является функцией, выбор рубинов с помощью 'rvm use ...' не будет работать. Вам нужно изменить настройки эмулятора терминала, чтобы разрешить вход в оболочку. Иногда требуется использовать
/bin/bash --login
как команда.
Я знаю, как создавать и задавать основные запущенные задания; но я не знаю, как установить версию ruby для созданного процесса, если я не могу включить ее в скрипт таким образом. Я уверен, что это должно быть возможно, хотя ...
Ответы:
Это не проверено (так как я не использую
rvm
), но должно быть два простых способа это исправить.Источник
rvm
в вашем сценарии (что вы, вероятно, в любом случае делаете в вашем.profile
, или же.bashrc
, или эквивалент):Эта новая линия - более короткий способ сказать
-s
используется для возврата « Правда еслиFILE
существует и имеет размер больше нуля ».И вы, вероятно, будете смеяться над тем, как легко это было исправить, просто делайте то, что говорится в сообщении, и используйте
/bin/bash --login
, вот так:источник