Передать строку команде, ожидающей файл

Передать строку команде, ожидающей файл

У меня есть программа командной строки, которая ожидает передачи файла конфигурации, например

sphinx --config /some/config_file

Я вызываю эту команду из программы Ruby, где я в данный момент динамически генерирую файл конфигурации перед записью его на диск. Это кажется пустой тратой, поскольку файл используется только один раз и сразу же удаляется.

Есть ли способ избежать записи файла на диск, просто передав что-то, что программа посчитает файлом, но на самом деле не было записано на диск?

решение1

Вы можете передать узел FD, а затем заставить Ruby взаимодействовать с процессом, используя этот FD.

sphinx --config /dev/fd/10

Связанный контент