다음 명령을 실행합니다(실제 예):
~$ gpg --edit-key [email protected] showpref quit
(...)
[ultimate] (1). Foo Bar <[email protected]>
Cipher: AES256, AES192, AES, CAST5, 3DES
AEAD:
Digest: SHA256, SHA1, SHA384, SHA512, SHA224
Compression: ZLIB, BZIP2, ZIP, Uncompressed
Features: MDC, AEAD, Keyserver no-modify
Preferred keyserver: ldap://keyserver.pgp.com
~$
출력을 파이프로 연결하면 | grep
작동하지 않습니다.
~$ gpg --edit-key [email protected] showpref quit | grep Compression
(...)
[ultimate] (1). Foo Bar <[email protected]>
Cipher: AES256, AES192, AES, CAST5, 3DES
AEAD:
Digest: SHA256, SHA1, SHA384, SHA512, SHA224
Compression: ZLIB, BZIP2, ZIP, Uncompressed
Features: MDC, AEAD, Keyserver no-modify
Preferred keyserver: ldap://keyserver.pgp.com
~$
작동하게 하는 방법이 있나요? 예를 들어, 내가 얻고 싶은 결과는 다음과 같습니다.
~$ gpg --edit-key [email protected] showpref quit | grep Compression
Compression: ZLIB, BZIP2, ZIP, Uncompressed
~$
[편집: 지금까지 시도한 것]:
stderr
@steeldriver, @RomeoNinov: 리디렉션으로는 문제가 해결 되지 않을 것 같습니다 . 출력이 gpg
되지 않는 것 같습니다 stderr
.
기본적으로 gpg
는 대화형 명령이지만 실행하면 gpg ... cmd1 cmd2
비대화형 명령이 됩니다(예: 의 쉘에서 대화형으로 실행하는 것과 동일 gpg ... showpref quit
).showpref
quit
gpg
@스틸드라이버:
~$ gpg --edit-key [email protected] showpref quit 2> >(grep Compression)
(...)
[ultimate] (1). Foo Bar <[email protected]>
Cipher: AES256, AES192, AES, CAST5, 3DES
AEAD:
Digest: SHA256, SHA1, SHA384, SHA512, SHA224
Compression: ZLIB, BZIP2, ZIP, Uncompressed
Features: MDC, AEAD, Keyserver no-modify
Preferred keyserver: ldap://keyserver.pgp.com
~$
@romeoninov:
~$ gpg --edit-key [email protected] showpref quit 2>&1| grep Compression
(...)
[ultimate] (1). Foo Bar <[email protected]>
Cipher: AES256, AES192, AES, CAST5, 3DES
AEAD:
Digest: SHA256, SHA1, SHA384, SHA512, SHA224
Compression: ZLIB, BZIP2, ZIP, Uncompressed
Features: MDC, AEAD, Keyserver no-modify
Preferred keyserver: ldap://keyserver.pgp.com
~$
답변1
해결책은 를 사용하는 것입니다 --batch
. 이는 gpg
정보를 표준 파일 처리기로 보내는 데 도움이 됩니다.
# gpg --batch --edit-key [email protected] showpref quit 2>&1 |grep Com
Compression: ZLIB, BZIP2, ZIP, Uncompressed