Io-Redirection

當 stdout 和 stderr 都被重定向到 /dev/null 時,GnuPG 如何輸出到控制台

  • June 20, 2017

例子 :

bash$ gpg --batch --edit-key alice quit >/dev/null 2>&1
Secret key is available.

pub  2048R/9F07612A  created: 2017-06-20  expires: never       usage: SCEA
                    trust: ultimate      validity: ultimate
sub  2048R/23B3A24B  created: 2017-06-20  expires: never       usage: SEA 
[ultimate] (1). alice (alice's key) <alice@foo.bar>

我知道使用--batch會完成這項工作。

但我的問題更多的是**“GnuPG如何實現這個’輸出無論如何‘功能”**?

可能通過寫信/dev/tty或等效的方式,就是ssh這樣。

$ hi() { echo hello > /dev/tty; }
$ hi &>/dev/null 
hello

至少在 Linux 上,打開/dev/tty 會打開程序的控制終端

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