当使用clojure.tools.build.api/copy-dir
并带有:replace
参数时,它会读取源文件,然后写入一个新的目标文件——它并没有“复制”文件,因此目标文件将以默认权限创建。
如果您正在复制可执行shell脚本并尝试替换其中的文本,这是一个问题,因为创建的目标文件将不会具有可执行权限。
这个问题出现在该问题的deps-new
中:https://github.com/seancorfield/deps-new/issues/22
我认为如果您的源文件是可执行的,目标文件也应该具有可执行权限——并且在没有:replace
的情况下,这可以正常工作。