Я новичок в рубине.Я пытаюсь получить исходный текст своего сценария оболочки в ruby и выполнить функции в исходном сценарии оболочки.
ниже приведен сценарий моей оболочки /tmp/test.sh
#!/bin/bash
function hello {
echo "hello, this script is being called from ruby"
}
ниже мой скрипт ruby test.rb
#!/usr/bin/ruby
system("source /tmp/test.sh")
puts $?.exitstatus
system("hello")
puts $?.exitstatus
вывод с использованием system
[root@localhost ~]# ruby test.rb
127
127
Я даже попробовал метод обратного тика, ноя получил ниже ошибка
код:
#!/usr/bin/ruby
status=`source /root/test.sh`
puts status
status2=`hello`
puts status2
ошибка:
ruby test.rb
test.rb:3:in ``': No such file or directory - source (Errno::ENOENT)
from test.rb:3:in `<main>'
может кто-нибудь сказать, что не такв моем коде.