LINUX.ORG.RU

История изменений

Исправление theNamelessOne, (текущая версия) :

Метод Kernel#system возвращает true, false или nil. Для того, чтобы получить вывод команды, воспользуйся оператором backtick (и надо не забыть заэскейпить package_name, если он задаётся пользователем):

require 'shellwords'

def myfunc(package_name)
  `/usr/bin/dpkg-query -W -f -f='${Version}' #{Shellwords.escape(package_name)}`
end

Либо можно использовать один из методов модуля Open3, либо popen.

Исправление theNamelessOne, :

Метод Kernel#system возвращает true, false или nil. Для того, чтобы получить вывод команды, воспользуйся бэктиком (и надо не забыть заэскейпить package_name, если он задаётся пользователем):

require 'shellwords'

def myfunc(package_name)
  `/usr/bin/dpkg-query -W -f -f='${Version}' #{Shellwords.escape(package_name)`
end

Либо можно использовать один из методов модуля Open3, либо popen.

Исправление theNamelessOne, :

Метод Kernel#system возвращает true, false или nil. Для того, чтобы получить вывод команды, воспользуйся бэктиком (и надо не забыть заэскейпить package_name, если он задаётся пользователем):

require 'shellwords'

def myfunc(package_name)
  `/usr/bin/dpkg-query -W -f -f='${Version}' #{Shellwords.escape(package_name)`
end

Либо можно использовать один из методов модуля https://ruby-doc.org/stdlib-2.4.2/libdoc/open3/rdoc/Open3.htmlOpen3, либо popen.

Исправление theNamelessOne, :

Метод Kernel#system возвращает true, false или nil. Для того, чтобы получить вывод команды, воспользуйся бэктиком (и надо не забыть заэскейпить package_name, если он задаётся пользователем):

require 'shellwords'

def myfunc(package_name)
  `/usr/bin/dpkg-query -W -f -f='${Version}' #{Shellwords.escape(package_name)`
end

Либо можно использовать open3.

Исходная версия theNamelessOne, :

Метод `Kernel#system` возвращает true, false или nil. Для того, чтобы получить вывод команды, воспользуйся бэктиком (и надо не забыть заэскейпить package_name, если он задаётся пользователем):

require 'shellwords'

def myfunc(package_name)
  `/usr/bin/dpkg-query -W -f -f='${Version}' #{Shellwords.escape(package_name)`
end

Либо можно использовать popen3.