我在一些正在处理的代码中找到了这个。它旨在解决从磁盘读取密钥文件的要求。在生产中,密钥文件的内容位于环境变量中。
旧代码:
key = File.read('path/to/key.pem')
新代码:
key = File.read('| echo $KEY_VARIABLE')
这是如何运作的?
答案 0 :(得分:9)
来自IO docs:
以“|”开头的字符串表示子进程。 “|”后面的字符串的其余部分被调用为具有连接到它的适当输入/输出通道的进程。
"频道连接" bit表示进程的输出将成为read
的输入。因此,在此示例中,可以读取环境变量的echo
的结果。