次のコマンドを実行します(実際の例):
~$ 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