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
也许还有其他地方。