Я даю ответ, так как я беспокоюсь, что кто-нибудь попробует предложение ОП...
БОЛЬШОЕ предупреждение: сценарий, показанный в вопросе, удаляет каталог, заданный pwd
, который это НЕ каталог, в котором находится скрипт, а каталог, в котором находится ПОЛЬЗОВАТЕЛЬ при запуске скрипта.
Если это так: (**НЕ ПРОБУЙТЕ ЭТО **) cd ; /path/to/thatscript
они удалят ВЕСЬ ДОМАШНИЙ КАТАЛОГ ПОЛЬЗОВАТЕЛЯ (поскольку «cd» возвращается в него) И ВСЕ ПОД НИЗУ! ...
(Это особенно плохо для некоторых ОС, где домашний каталог root - "/" ... ).
Вместо этого в сценарии вы должны:
mydir="$(cd -P "$(dirname "$0");pwd)"
#retrieve the script's absolute path,
#even if the script was called via ../relative/path/to/script
echo "the script '$0' is in: ${mydir} "
...
# and then (if you really want this.... but I think it's a bad idea!)
# rm -rf "${mydir:-/tmp/__UNDEFINED__}" #deletes ${mydir}, if defined
# once you're sure it is correctly reflecting the real script's directory.
Хэш-ключ пакетов после скачивания может не совпадать с репозиторием. Повторите попытку обновления после очистки метаданных.
# yum clean all ; yum update