. Самым быстрым и простым решением, вероятно, было бы использование сценария оболочки, который обращается к вашим разрешениям после запуска распаковки.
#! /bin/bash
#First argument ($1) would be the name of the file to be unzipped
#Second argument ($2) would be where to unzip the files to (absolute path)
unzip $1 -d $2
find $2 -name *.sh -print0 | xargs -0 chmod +x
Это будет работать до тех пор, пока файлы, которые вы хотите сделать исполняемыми, всегда будут иметь формат * .sh. В противном случае вы всегда можете добавить третий аргумент ($ 3) и заменить его на * .sh, но тогда вам всегда придется вводить имя файла, который будет исполняемым для каждого архива.
Какую оболочку вы используете? Я знаю, что в bash вы можете определять свои собственные команды (через псевдоним), например, как только я создал настраиваемую команду, которую я назвал cdsee, и для нее потребовался один параметр (каталог), и он получил к нему cd'd, затем немедленно ls -lah. упростил мою работу, так как я сразу увидел содержимое указанной папки.
Точно так же должно быть возможно и даже легко создать команду, которая запускала бы команду unzip, а затем немедленно chmod + x.
К сожалению, сейчас я ускользаю от того, как использовать аргументы.