Como posso inserir a senha apenas uma vez quando o gpg descriptografa arquivos em lote

0

Eu quero descriptografar alguns arquivos gpg em um arquivo. Mas cada vez que gpg perguntar senha.

for i in *.gpg; do echo $i>>~/t; gpg -d --batch $i >>~/t; done

Eu testo --multifile e --batch, não como meu desejo.

    
por utopic eexpress 03.04.2017 / 23:22

1 resposta

2

Várias maneiras:

# gather the password into $P
stty -echo; read P; stty echo; 
for i in *.gpg; do echo $i >> ~/t; printf '%s' | gpg -d --batch --passphrase-fd 0 $i >> ~/t; done

# gather the password into $P
stty -echo; read P; stty echo; 
for i in *.gpg; do echo $i >> ~/t; gpg -d --batch --passphrase "$P" $i >> ~/t; done

d=$(mktemp -d)
# gather the password into a file named 'p'
stty -echo; cat > "$d/p"; stty echo
for i in *.gpg; do echo $i >> ~/t; gpg -d --batch --passphrase-file "$d/p" 0 $i >> ~/t; done
rm -rf "$d"
    
por 04.04.2017 / 03:24

Tags