Bash
是否可以通過 STDIN 為 Open Office 提供數據?
我有一個儲存在 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)
While
Encrypted.gpg
是 Open Office 電子表格的加密文件。是否可以通過 STDIN 為 Open Office 提供數據?
我不認為 OpenOffice 可以被說服從其標準輸入中讀取。但這沒關係。只需將數據寫入臨時文件即可。
您不希望將密碼寫入磁碟。沒關係。將它們寫入未儲存在磁碟上的文件。
許多系統為
/tmp
. Solaris 多年來一直在這樣做。Linux 發行版的混合速度很慢(Fedora 18採用了它,Debian 和 Ubuntu 仍然沒有讓步)所以它通常需要係統管理員手動設置。然而,現代 Linux 發行版在某處安裝了一個 tmpfs 文件系統。標準庫的最新版本需要它。tmpfs 的標準位置是/run
,它/run/shm
是世界可寫的(與 相同的權限/tmp
),但某些發行版可能還沒有它;看看,/dev/shm
也許還有其他地方。