如何将TCL管道通道传递到gpg——密码短语fd?

如何将TCL管道通道传递到gpg——密码短语fd?,tcl,gnupg,Tcl,Gnupg,是否可以将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"] 从man gpg: --密码短语fd n 从文件描述符n读取密码短语。如果使用0表示n,则 密码短语将从stdin中

是否可以将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"]

man gpg

--密码短语fd n

从文件描述符n读取密码短语。如果使用0表示n,则 密码短语将从stdin中读取

因此,我将值设置为
--passphrase fd
0
,并将管道的内容通过stdin通道传递给gpg,即

set fd [open "|echo [gets $word] | gpg -d -q --no-options --batch --passphrase-fd 0 $file" "r"]

很好的观察。感谢分享您不需要回音:
set fd[open |[list gpg-d-q--no options--batch--passphrase fd 0$file感谢您的评论;还有一个问题;在这种情况下,如果我使用“ps”,我们能保证不显示[get$word]的值吗?。