Bash

是否可以通過 STDIN 為 Open Office 提供數據?

  • December 3, 2018

我有一個儲存在 bash 變數中的 Open Office 電子表格文件。我想做以下類似的事情來通過以下方式提供 Open Office STDIN

echo "$openOfficeDoc" | ooffice

但它不起作用。

注意: bash 變數的內容不能寫入磁碟。

我將強調我正在嘗試將文件的實際數據傳遞給 Open Office。

我正在嘗試將密碼儲存在 Open Office 電子表格文件中。密碼使用 GPG 加密。出於安全原因,我不希望將密碼寫入磁碟。

bash 變數值是 Open Office 電子表格文件的二進制 blob。它不是ASCII。

我用來創建 blob 的 bash 程式碼是:

data=$(cat "Encrypted.gpg" | gpg -u "Dor" -d)

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

是否可以通過 STDIN 為 Open Office 提供數據?

我不認為 OpenOffice 可以被說服從其標準輸入中讀取。但這沒關係。只需將數據寫入臨時文件即可。

您不希望將密碼寫入磁碟。沒關係。將它們寫入未儲存在磁碟上的文件。

許多系統為/tmp. Solaris 多年來一直在這樣做。Linux 發行版的混合速度很慢(Fedora 18採用了它,Debian 和 Ubuntu 仍然沒有讓步)所以它通常需要係統管理員手動設置。然而,現代 Linux 發行版在某處安裝了一個 tmpfs 文件系統。標準庫的最新版本需要它。tmpfs 的標準位置是/run,它/run/shm是世界可寫的(與 相同的權限/tmp),但某些發行版可能還沒有它;看看,/dev/shm也許還有其他地方。

引用自:https://unix.stackexchange.com/questions/91088