Maven: как изменить разрешение файла определенного типа в определенной директории - PullRequest
0 голосов
/ 11 января 2019

Мне нужно изменить разрешение для файлов всех файлов сценариев (* .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 голосов
/ 12 января 2019

Я вижу 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...