如何轻松获取当前 GnuPG 用户可用的密钥 ID 列表?
我想要一个假设的命令gpg --foo
,可以用来:
keyids=$( ( gpg --foo ) )
for keyid in "${keyids[@]}" ; do …
什么gpg --foo
命令可以让我获取我的密钥的密钥 ID?
答案1
它需要几秒钟才能完成,但是这是有效的:
gpg --list-secret-keys --with-colons \
2> /dev/null \
| grep '^sec:' | cut --delimiter ':' --fields 5
感谢@dirkt 和@grawity 提供此答案。
答案2
对于版本 2.1.15,以下内容对我有用:
gpg --list-secret-keys --keyid-format short | grep sec | cut -d' ' -f 4
我不确定不同版本的输出格式是否相同,因此如果您的版本使用不同格式的输出,则可能必须调整以下命令。
答案3
我的选择是使用 awk:
gpg --list-secret-keys --with-colons | awk -F: '$1 == "sec" {print $5}'