Вы пробовали ShaBang, как указано ниже, чтобы напрямую указывать на рубин?
#! /usr/bin/ruby
Затем вы вызываете скрипт из командной строки как
./matz.rb
В системах Unix / Linux точка перед командой для поиска команды в текущем каталоге. Если вы укажете путь, например / usr / bin / ruby, он будет искать в текущем каталоге каталог usr ...
Команда без точки / спереди ищется в местах, указанных переменной пути среды.
Команда с / в начале ищется точно от корня по указанному пути.
Внутри вашего ShaBang вы хотите указать точный путь к интерпретатору, поэтому "/ usr / bin / ruby" является правильным. В командной строке, где вы хотите, чтобы ваш сценарий выполнялся, вам нужно вызвать сценарий с помощью «./matz.rb», иначе bash будет искать команду, подобную /usr/bin/matz.rb, что приведет к вашему сообщению об ошибке.