Как я могу ввести пароль только один раз, когда gpg расшифровывает файлы в пакетном режиме

Я хочу расшифровать некоторые файлы gpg, вывести их в файл. Но каждый раз gpg спрашивает пароль.

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

Я тестирую --multifile и --batch, те, которые не соответствуют моему желанию.

0
04.04.2017, 02:17
1 ответ

Несколько способов:

# 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"
1
28.01.2020, 02:46

Теги

Похожие вопросы