Код под спойлером:
#!/bin/bash
# выбирается папка-источник
dir1=$(zenity --file-selection --directory)
# записывается путь папки-источника
realpath "$dir1" > /tmp/dir1.txt
# считывается путь папки-источника
place1=`cat /tmp/dir1.txt`
dir2=$(zenity --file-selection --directory)
realpath "$dir2" > /tmp/dir2.txt
place2=`cat /tmp/dir2.txt`
# для каждого архива 7z в папке-источника выполнить распаковку в выбранную папку назначения
for package in "$place1/*.7z";
do
7z x "$package" -o"$place2"
done
# найти и удалить файлы 7z в папке источника
find "$place1" -name "*.7z" -delete
exit
# выбирается папка-источник
dir1=$(zenity --file-selection --directory)
# записывается путь папки-источника
realpath "$dir1" > /tmp/dir1.txt
# считывается путь папки-источника
place1=`cat /tmp/dir1.txt`
dir2=$(zenity --file-selection --directory)
realpath "$dir2" > /tmp/dir2.txt
place2=`cat /tmp/dir2.txt`
# для каждого архива 7z в папке-источника выполнить распаковку в выбранную папку назначения
for package in "$place1/*.7z";
do
7z x "$package" -o"$place2"
done
# найти и удалить файлы 7z в папке источника
find "$place1" -name "*.7z" -delete
exit