![将字符串传递给需要文件的命令](https://linux22.com/image/1313410/%E5%B0%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%BC%A0%E9%80%92%E7%BB%99%E9%9C%80%E8%A6%81%E6%96%87%E4%BB%B6%E7%9A%84%E5%91%BD%E4%BB%A4.png)
我有一个命令行程序需要传递一个配置文件,例如
sphinx --config /some/config_file
我从 Ruby 程序内部调用此命令,目前我正在动态生成配置文件,然后将其写入磁盘。这似乎是一种浪费,因为该文件只使用一次,之后就会被删除。
有没有一种方法可以避免将文件写入磁盘,只需传递程序认为是文件但实际上尚未写入磁盘的内容?
答案1
您可以传递一个 FD 节点,然后让 Ruby 在进程上使用该 FD 进行通信。
sphinx --config /dev/fd/10