Переводим ваш псевдокод прямо в shell get
#!/bin/sh
counter=0
while [ ! -e /dev/sda1 ]; do
sleep 100
counter=$((counter + 1))
if [ $counter -ge 50 ]; then
exit
fi
done
Опционально вы можете изменить -e /dev/sda1
на -b /dev/sda1
для проверки блочного устройства.
Вы удалили каталог /home/me123/.gnupg, а затем он был воссоздан с помощью gpg? Если так, вероятно, это сбивает агента с толку.
Либо перезапустите агент ( gpgconf --kill gpg-agent
), либо, что более важно, перезагрузите компьютер и повторите попытку.
Похоже, что каталог ~/.gnupg/private-keys-v1.d (при некоторых обстоятельствах) не создается или создается с неправильными правами.
# mkdir -p ~/.gnupg/private-keys-v1.d
# chmod 700 ~/.gnupg/private-keys-v1.d
Исправлено.
Просто хочу добавить в эту старую ветку на случай, если кто-то придет сюда в поисках ответов, что у меня была похожая проблема в macOS (Big Sur 11.2 ). После удаления каталога .gnupg
у меня была та же ошибка, что и у OP. Каталог ~/.gnupg/private-keys-v1.d
был воссоздан GnuPG и имел правильные разрешения. Кроме того, убить gpg-agent
было недостаточно.
Я заметил странный файл в каталоге .gnupg
с именем вроде .#k0x0000000130605a20.MBP-van-##REDACTED##.52431
. После того, как я удалил этот файл, GnuPG снова заработал как часы!