Поместите это вверху:
if [ -z "$1" ]; then
echo "Argument required."
exit
fi
-z
проверяет строку аргумента, чтобы узнать, имеет ли она нулевую длину.
Если длина не равна нулю, выполнение будет продолжено.
Оказывается, файлы в / var / lib / rpm с db в их именах не Файлы базы данных Беркли. Файлы без db в своих именах являются файлами базы данных Беркли.
Таким образом, попытка открыть файл с именем __ db.001
- неправильный поступок.
(Подумал о том, чтобы просто удалить вопрос, но другие люди могут столкнуться с этим).