是否可以通过 STDIN 提供 Open Office?

Dor*_*Dor 7 bash pipe openoffice stdin

我有一个存储在 bash 变量中的 Open Office 电子表格文档。我想做以下类似的事情来通过以下方式提供开放式办公室STDIN

echo "$openOfficeDoc" | ooffice
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

注意: bash 变量的内容不得写入磁盘。

我要强调的是,我正在尝试将文件的实际数据传递给 Open Office。

我正在尝试将密码存储在 Open Office 电子表格文件中。密码使用 GPG 加密。出于安全原因,我不希望将密码写入磁盘。

bash 变量值是 Open Office 电子表格文档的二进制 blob。它不是ASCII。

我用来创建 blob 的 bash 代码是:

data=$(cat "Encrypted.gpg" | gpg -u "Dor" -d)
Run Code Online (Sandbox Code Playgroud)

WhileEncrypted.gpg是 Open Office 电子表格的加密文件。

是否可以通过 STDIN 提供 Open Office?

Gil*_*il' 10

我不认为可以说服 OpenOffice 从其标准输入中读取。但这没关系。只需将数据写入临时文件即可。

您不希望将密码写入磁盘。没关系。将它们写入未存储在磁盘上的文件中。

许多系统将内存文件系统 (tmpfs) 用于/tmp. Solaris 多年来一直这样做。Linux 发行版混合起来很慢(Fedora 18采用了它,Debian 和 Ubuntu 仍然没有改变)所以它通常需要系统管理员手动设置。然而,现代 Linux 发行版在某处挂载了一个 tmpfs 文件系统;标准库的最新版本需要它。tmpfs 的标准位置是/run,具有/run/shm全球可写性(与 相同的权限/tmp),但某些发行版可能还没有;看看,/dev/shm也许还有其他地方。