stdout과 stderr이 모두 /dev/null로 리디렉션될 때 GnuPG는 어떻게 콘솔에 출력합니까?

stdout과 stderr이 모두 /dev/null로 리디렉션될 때 GnuPG는 어떻게 콘솔에 출력합니까?

예:

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) <[email protected]>

나는 사용이 --batch그 일을 할 것이라는 것을 알고 있습니다.

하지만 더 궁금한 점이 있어요'GnuPG는 이것을 어떻게 달성합니까?'어쨌든 출력'형질'?

답변1

아마도 편지를 쓰거나 /dev/tty그런 식으로 말이죠 ssh.

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

적어도 Linux에서는 다음을 엽니다./dev/tty 프로세스의 제어 터미널을 엽니다..

관련 정보