Maven:如何更改特定目录下特定类型文件的权限

时间:2019-01-11 20:56:19

标签: maven

我需要将所有脚本文件(* .sh)的文件权限更改为“ -rwxr--r-”。

我正在使用exec-maven-plugin。当我尝试

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <id>script-chmod</id>
                    <phase>install</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <executable>chmod</executable>
                        <arguments>
                            <argument>744</argument>
                            <argument>${SCRIPT_INSTALL_DIR}/*.sh</argument>
                        </arguments>
                    </configuration>
                </execution>
            </executions>
        </plugin>

此消息失败,表明该目录中没有* .sh文件。但是,如果我使用特定的文件名,那么它是成功的。由于该目录中有许多脚本文件,因此我试图使用* .sh更改权限。

有办法吗?

1 个答案:

答案 0 :(得分:2)

我在这里看到2种解决方案:

  1. 使用sh而不是chmod作为可执行文件:
<configuration>
    <executable>sh</executable>
    <arguments>
        <argument>-c</argument>
        <argument>chmod 744 ${SCRIPT_INSTALL_DIR}/*.sh</argument>
    </arguments>
</configuration>
  1. 或创建一个脚本(例如change_permissions.sh):
#!/usr/bin/env sh

SCRIPT_INSTALL_DIR="$1"

chmod 744 ${SCRIPT_INSTALL_DIR}/*.sh

,并将其用作可执行文件:

<configuration>
    <executable>change_permissions.sh</executable>
    <arguments>
        <argument>${SCRIPT_INSTALL_DIR}</argument>
    </arguments>
</configuration>