Вы имеете в виду захват вывода команды 'ls'? Вы можете использовать `` в Ruby. Например:
mystring = `ls <dir>`
print mystring.strip();
Итак, я думал, что отредактирую свой предыдущий ответ. Если вам не повезло столкнуться с ошибкой в команде ls (скажем, путь не существует, например) или любой другой системной команде, вывод будет отображаться в STDERR, вызывая его вывод на экран, нравится ли вам это. или нет, которые не будут фиксировать обратные метки (они получат только STDOUT).
Чтобы обойти это, просто добавьте 2> & 1 в конец вашей команды.
Например:
#!/usr/bin/ruby -w
mystring = `ls /path/does/not/exist 2>&1`;
# above will not display anything to screen but will hold error message in mystring
print mystring;
# outputs: ls: cannot access /path/does/not/exist: No such file or directory
Надеюсь, это поможет.