Команда Linux для скрипта ruby - PullRequest
1 голос
/ 05 августа 2010

как я могу запустить скрипт ruby ​​как команду в linux.

У меня есть этот скрипт, который обращается к lib, но я должен запустить его как

teraData.rb

Я хочу запустить его как teradata (или какую-либо значимую команду) с аргументами в linux из любой командной строки.

Где мне разместить скрипт и что мне делать?

Явроде как новичок в linux, пожалуйста, помогите

Ответы [ 4 ]

6 голосов
/ 05 августа 2010

Если скрипт исполняемый, и первая строка скрипта - #!/usr/bin/ruby (или каким бы ни был путь к вашему интерпретатору ruby), тогда вы сможете запустить скрипт напрямую (т.е. $ ./myscript.rb).

В противном случае запустите интерпретатор и передайте ему сценарий в качестве аргумента (ruby ./myscript.rb).

Если вы хотите запустить скрипт из любой точки, используя простую команду, оберните один из этих методов вbash-функция, подобная следующей:

function teraData {
    ruby /path/to/script/teraData.rb $*
}

Поместите это определение функции в файл .bashrc, чтобы она автоматически загружалась при каждом открытии оболочки.

3 голосов
/ 05 августа 2010

поместите это как первую строку скрипта:

#!/usr/bin/env ruby
0 голосов
/ 05 августа 2010

написать сценарий оболочки, который вызывает сценарий ruby.Убедитесь, что оба являются исполняемыми.

0 голосов
/ 05 августа 2010

Поскольку вы новичок в Linux, я рекомендую:

$ cd /path/to/file
$ ruby ./teraData.rb

Как только вы обретете уверенность, также можно просто ввести имя файла в приглашении оболочки.Для этого вам нужно:

  1. изменить первую строку teraData.rb на #! /usr/bin/env ruby (это найдет правильный исполняемый файл для вас, возможны другие первые строки)
  2. изменить права доступа к файлу, чтобы он мог выполняться: chmod +x teraData.rb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...