python - 运行带有输入/输出参数的 bash 命令,但将它们作为不在磁盘中的变量提供
问题描述
我想在 bash 中运行一个命令,例如./command -i INPUT_FILE -o OUTPUT_FILE
它需要两个参数,1)输入文件的路径和 2)输出文件的路径。它处理INPUT_FILE
并将结果写入OUTPUT_FILE
. 有什么方法可以提供INPUT_FILE
andOUTPUT_FILE
作为一些变量吗?因此,我不想将文件存储在磁盘中,而是将它们作为变量提供/存储在内存中。请注意,输出写在提供的文件路径中,而不是 stdout(否则,很明显)。在命令的核心中,它ofstream
以 C 语言打开以将结果写入OUTPUT_FILE
.
我搜索并找到了输入部分的解决方案,该解决方案有效,但不适用于输出部分。这是建议的解决方案:
./command -i <(cat <<< "$INPUT_VARIABLE") -o OUTPUT_FILE
对输出部分有什么建议吗?我的最终目标是在 Python 中使用此功能,但似乎subprocess
模块没有此功能。
解决方案
您可以使用tmpfs
它,这是一个位于 RAM 中的虚拟文件系统。
对于您当前的用户,您可以使用/run/user/$UID/
目录,例如
./command -i <(cat <<< "$INPUT_VARIABLE") -o /run/user/$UID/OUTPUT_FILE
完全可以工作。如果在脚本停止后不需要该文件,只需 rm 即可。显然,该文件在重新启动后将无法生存。
推荐阅读
- angularjs - 从其他指令调用指令
- ionic3 - 如何从 http 请求中读取和重新注入响应数据
- c++ - 如何为 GTK3 配置 VSCode 以进行智能感知/构建/调试和 g++
- javascript - 为什么我在使用 Node js 和 Express 的 chrome 中收到 Favicon 请求?如何防止 Favicon 请求
- python - 使用 test db 使用 SQLAlchemy ORM 进行 Django 的内置测试
- c - 为什么这段代码的结果不一样?
- python - python中切换器给出的对象问题
- java - 我的设备已获得授权,但在我运行登录测试后,它说要再次授权 -QA Tester
- xaml - Xaml Islands - Microsoft 入门示例不适合我
- python - 在 Python 3 中打印时清除行