是否可以将tcl管道传递给gpg --passphrase-fd
?
;# $word is a pipe channel opened by pipe (tcl 8.5)
package require pipe;
;#
set fd [open "|gpg -d -q --no-options --batch --passphrase-fd $word $file" "r"]
答案 0 :(得分:1)
来自man gpg
:
<强>
--passphrase-fd n
强>从文件描述符n中读取密码。 如果你使用0作为n,那么 密码短语将从标准输入读取。
所以我设置为--passphrase-fd
到0
的值,并将管道内容通过stdin通道传递给gpg,即
set fd [open "|echo [gets $word] | gpg -d -q --no-options --batch --passphrase-fd 0 $file" "r"]