remove_prefix: used check_prefix_var function

This commit is contained in:
Mikhail Tergoev
2025-06-18 13:45:50 +03:00
parent 3033f6022a
commit 499260b5dc

View File

@ -1218,25 +1218,15 @@ run_autoinstall () {
} }
remove_prefix() { remove_prefix() {
local prefix_name="$1" export WINEPREFIX="$1"
local prefix_path="$WH_PREFIXES_DIR/$prefix_name" if [[ -z "$WINEPREFIX" ]]
then print_error "Не указано имя префикса для удаления!"
if [[ -z "$prefix_name" ]]; then
print_error "Не указано имя префикса для удаления."
echo "Использование: $SCRIPT_NAME remove-prefix [имя_префикса]"
echo "Доступные префиксы:"
ls -1 "$WH_PREFIXES_DIR"
return 1
fi
if [[ ! -d "$prefix_path" ]]; then
print_error "Префикс "$prefix_name" не найден."
return 1
fi fi
check_prefix_var
if [[ ! $2 =~ --force|-y ]] ; then if [[ ! $2 =~ --force|-y ]] ; then
echo "======================================================" echo "======================================================"
print_warning "Вы собираетесь удалить префикс "$prefix_name"." print_warning "Вы собираетесь удалить префикс "$PREFIX_NAME"."
echo "Это приведёт к:" echo "Это приведёт к:"
echo " - Полному удалению всех данных префикса" echo " - Полному удалению всех данных префикса"
echo " - Удалению всех программ, установленных в этом префиксе" echo " - Удалению всех программ, установленных в этом префиксе"
@ -1249,13 +1239,13 @@ remove_prefix() {
return 0 return 0
fi fi
fi fi
try_remove_dir "$prefix_path" try_remove_dir "$WINEPREFIX"
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
print_ok "Префикс "$prefix_name" успешно удален." print_ok "Префикс "$PREFIX_NAME" успешно удален."
for desktop_file in "$WH_MENU_DIR"/*.desktop; do for desktop_file in "$WH_MENU_DIR"/*.desktop; do
if grep -q "$prefix_path" "$desktop_file"; then if grep -q "$WINEPREFIX" "$desktop_file"; then
desktop_name=$(basename "$desktop_file") desktop_name=$(basename "$desktop_file")
remove_desktop "${desktop_name%.*}" remove_desktop "${desktop_name%.*}"
fi fi
@ -1263,7 +1253,7 @@ remove_prefix() {
return 0 return 0
else else
print_error "Не удалось удалить префикс "$prefix_name"." print_error "Не удалось удалить префикс "$PREFIX_NAME"."
return 1 return 1
fi fi
} }