LINUX.ORG.RU

Пароль в переменной, а так же цикл запроса пароля

 , ,


0

1

Не принимает пароль. Что я не так делаю?

read -p "Password: " passwd; gpg -o file --decrypt --batch --passphrase '$passwd' file.gpg
gpg: AES.CFB encrypted data
gpg: encrypted with 1 passphrase
gpg: decryption failed: Bad session key

Так же мне не понятно как правильно сделать цикл который будет переспрашивать пароль в случае неудачи? И что бы завершал цикл если расшифровка удалась.

Что я не так делаю?

Пытаешься подставить переменную в одиночных кавычках вместо двойных. В одиночных баш не интерпретирует конструкции

read -p "Password: " passwd; gpg -o file --decrypt --batch --passphrase "$passwd"

цикл который будет переспрашивать пароль

Заворачиваешь все в цикл и после вызова gpg проверяешь статус код выполнения $?, если 0, успешно выходишь из скрипта или цикла

grazor ★★
()
Последнее исправление: grazor (всего исправлений: 2)
Ответ на: комментарий от grazor

Пытаешься подставить переменную в одиночных кавычках вместо двойных. В одиночных баш не интерпретирует конструкции

Вариант с двойными ковычками

gpg: handle plaintext failed: General error

Заворачиваешь все в цикл и простое вызова gpg проверяешь статус код выполнения $?, если 0 успешно выходишь из скрипта или цикла

until read -p "Password: " passwd; gpg -o file --decrypt --batch --passphrase "$passwd" file.gpg
do
echo "Неверный пароль"
done

А так не прокатит?

vachicul
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.