diff --git a/winehelper b/winehelper index 8c902bc..192ed04 100755 --- a/winehelper +++ b/winehelper @@ -1218,25 +1218,15 @@ run_autoinstall () { } remove_prefix() { - local prefix_name="$1" - local prefix_path="$WH_PREFIXES_DIR/$prefix_name" - - 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 + export WINEPREFIX="$1" + if [[ -z "$WINEPREFIX" ]] + then print_error "Не указано имя префикса для удаления!" fi + check_prefix_var if [[ ! $2 =~ --force|-y ]] ; then echo "======================================================" - print_warning "Вы собираетесь удалить префикс "$prefix_name"." + print_warning "Вы собираетесь удалить префикс "$PREFIX_NAME"." echo "Это приведёт к:" echo " - Полному удалению всех данных префикса" echo " - Удалению всех программ, установленных в этом префиксе" @@ -1249,13 +1239,13 @@ remove_prefix() { return 0 fi fi - try_remove_dir "$prefix_path" + try_remove_dir "$WINEPREFIX" if [[ $? -eq 0 ]]; then - print_ok "Префикс "$prefix_name" успешно удален." + print_ok "Префикс "$PREFIX_NAME" успешно удален." 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") remove_desktop "${desktop_name%.*}" fi @@ -1263,7 +1253,7 @@ remove_prefix() { return 0 else - print_error "Не удалось удалить префикс "$prefix_name"." + print_error "Не удалось удалить префикс "$PREFIX_NAME"." return 1 fi }