Помощь с zenity (по нажатии кнопки отмена убивать родительский процесс)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Fangelion
Сообщения: 112
ОС: Debian GNU/Linux

Помощь с zenity

Сообщение Fangelion »

Собственно модифицировал скрипт extract. Т.к. надоели проблемы с кодовыми страницами у zip и плохая работа fileroller. Привинтил скрипт для извлечения в pcmanfm.

Код: Выделить всё

#!/bin/bash
#name: extract

zen() {
tee >( zenity --progress --title="Распаковка $name" --text="Распаковываем - $name" --pulsate --auto-close --auto-kill)
}

unzip_func() {
    unzip "$name" -d ~/tmp/unzip_dir
    cd ~/tmp/unzip_dir && find . -exec sh -c 'np=`echo {}|iconv -f cp1252 -t cp850| iconv -f cp866`; mv "{}" "$np"' \; && mv -f * "$dir"
    cd "$dir"
}

name=$(basename $1)
dir=$(readlink -f $(readlink -f "$(dirname "$1")"))
#dir=$(echo "$1"|sed "s/\(.*\)\/.*\.*/\1/")
echo -e "$1\n$2\n$name\n$dir"
#exit 0

cd "$dir"
if [ -f "$1" ] ; then
    case "$name" in
    *.tar.bz2)    tar xvjf --overwrite "$name" | zen "$name" ;;
    *.tar.gz)    tar xvzf --overwrite "$name" | zen "$name" ;;
    *.tar.xz)    tar Jxvf --overwrite "$name" | zen "$name" ;;
    *.bz2)        bunzip2 -f "$name" | zen "$name" ;;
    *.rar)        unrar x -o+ "$name" | zen "$name" ;;
    *.gz)        gunzip -f "$name" | zen "$name" ;;
    *.tar)        tar xvf --overwrite "$name" | zen "$name" ;;
    *.tbz2)        tar xvjf --overwrite "$name" | zen "$name" ;;
    *.tgz)        tar xvzf --overwrite "$name" | zen "$name" ;;
    *.zip)        unzip_func | zen "$name" ;;
    *.Z)        uncompress "$name" | zen "$name" ;;
    *.7z)        7z x -y "$name" | zen "$name" ;;
    *)        echo "don't know how to extract '$name'..."
            zenity --warning --text="Я не знаю как разархивировать '$name'..." --title="Распаковка $name" ;;
    esac
else
    zenity --warning --text="'$name' не правильный файл!" --title="Распаковка $name"
fi


Внимание вопрос. По нажатии кнопки "отмена", скрипт продолжает работать. Прошу совета, как прекращать деятельность скрипта по нажатии "отмена".
P.S. несмотря на то, что в скрипте используется zenity он все же консольный.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Помощь с zenity

Сообщение t.t »

zenity ... || exit 1
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: