You cannot store Linux / Unix file permissions in a ZIP file.
Modify (after comments) using the "external attributes" field inside the ZIP header, these attributes can be stored inside the ZIP file. GNU unzip can apparently read this extra field and restore file permissions. I am not sure when it was added to the ZIP format, as earlier versions - from the MS-DOS world - did not support this.
The TAR format - the "native" Unix / Linux format - is designed to include file attributes, and Ant can create TAR files that retain the attributes on all Linux / Unix operating systems.
<tar compression = "gzip" destfile = "my-archive.tgz">
<tarfileset mode = "544" dir = "dir_with_shell_scripts">
<include name = "*. sh" />
</tarfileset>
</tar>
a_horse_with_no_name
source share