Я пытаюсь присвоить статистику с помощью команды sox
рубиновой переменной. При использовании system
я получаю «true/false» в зависимости от успеха команды. Так что я пробовал:Ruby get return from system command (sox)
%x{ sox file -n stats }
Это показывает статистику в моей консоли, но на самом деле возвращает пустую строку, например, так:
Stat: 123
Another stat: 234
""
Я хочу, чтобы получить строку, содержащую статистику. Это возможно?
так что в конце концов вы хотите '123456' в своем рубине var? –
'% x {...}' будет записывать stdout подоболочки и возвращать его как строку. Если вы видите вывод на консоли, но не получаете его в возврате, скорее всего, программа пишет stderr вместо stdout. Попробуйте: '% x {sox file -n stats 2> & 1}', чтобы получить как stdout, так и stderr, направленные на stdout. – dbenhur