从zip提取时,使shell脚本可执行

我有一个从github中拉出来的shell文件,并使用TeamCity构build成zip文件。

它通常被编辑并从Windows机器放入github。

我需要这个shell脚本在解压缩时可执行。 我该怎么做呢? 目前我必须做chmod + x blah.sh

最快和最简单的解决scheme可能是运行解压缩后使用shell脚本来解决您的权限。

#! /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)并将其replace为* .sh,但是随后您必须始终input要为每个存档执行的文件的名称。

您应该使用Unix zip创build存档以保留Unix属性。

你在用什么shell? 我知道在bash中,你可以定义你自己的命令(通过别名),例如,一旦我做了一个自定义的命令我叫cdsee,它只需要一个参数(一个目录),然后cd'd到它,然后立即ls -lah。 使我的工作非常容易,因为我立即看到了该文件夹的内容。

同样,也应该有可能,甚至容易的做一个命令来运行unzip命令,然后立即chmod + x。

不幸的是,现在如何拉动论点正在逃避我。 但最简单的答案是使用一台linux机器作为原始的压缩作业,或者使自定义的命令/别名自动执行chmod。