Eu começaria com algo assim para detectar automaticamente todos os pubkeys no seu chaveiro:
[rsaw ~]$ gpg --list-keys --with-colons --fast-list-mode | awk -F: '/^pub/{printf "-r %s ", $5}'
-r 8364FDE4388D0935 -r 8F5B84CD292F9E32 -r EE3656DD5B0E2954 -r F576F163ABF75D93
Isso deve lhe dar o suficiente - há muitas opções de como proceder. Uma rota: crie um wrapper que execute gpg com isso e quaisquer args que você passar, por exemplo adicione o seguinte a ~/.bashrc
:
g(){ gpg $(gpg --list-keys --with-colons --fast-list-mode | awk -F: '/^pub/{printf "-r %s ", $5}') "$@"; }
Exemplo de execução:
[rsaw ~]$ g -aveo /tmp/issue.asc /etc/issue
gpg: using subkey BDE204E4 instead of primary key ABF75D93
gpg: using PGP trust model
gpg: This key belongs to us
gpg: using subkey E2E92BD7 instead of primary key 5B0E2954
gpg: This key belongs to us
gpg: using subkey 0EAE2434 instead of primary key 292F9E32
gpg: This key belongs to us
gpg: using subkey 9E0428AA instead of primary key 388D0935
gpg: This key belongs to us
gpg: reading from '/etc/issue'
gpg: writing to '/tmp/issue.asc'
gpg: RSA/AES256 encrypted for: "9E0428AA Ryan Sawhill <rsaw@devnull>"
gpg: RSA/AES256 encrypted for: "0EAE2434 Obama Mo <[email protected]>"
gpg: RSA/AES256 encrypted for: "E2E92BD7 Mitt Rom <rom@devnull>"
gpg: ELG/AES256 encrypted for: "BDE204E4 Bill C <clinton@nowhere>"
Isso é bom se você sempre criptografar arquivos e salvar a saída em arquivos; caso contrário, seria mais simples ter seu script / função SOMENTE executando o comando de detecção original - isso permitiria mais flexibilidade, por exemplo:
gpg $(g) -aveo </tmp/myfile