Execute o comando gerado por um script PHP

0

Eu tenho um arquivo PHP que tem uma lógica baseada na qual eu corro

bin/phpunit -c Application/app --testsuite $TESTSUITE

ou

bin/phpunit -c Application/app --group group1 group2

quando estou fazendo

#!/bin/bash

COMMAND=$(php travis_groups.php)
echo $COMMAND //bin/phpunit -c Application/app --testsuite $TESTSUITE
$COMMAND

Nada acontece, mas quando colo o comando para o arquivo sh ele funciona.

Por que não consigo executar um comando gerado por um script PHP?

Editar:

Solução

eval $COMMAND
    
por skowron-line 27.08.2015 / 15:08

1 resposta

0

Por COMMAND=$(php travis_groups.php) você acabou de atribuir o comando à variável COMMAND . Se você quiser executar o comando, precisará adicionar $COMMAND após a atribuição.


Exemplo simples de configuração:

echo.sh arquivo contendo apenas linha echo "ls"

run_echoed.sh arquivo contendo duas linhas:

COMMAND=$(bash echo.sh)
$COMMAND

Quando você executar run_echoed.sh (seja por ./run_echoed.sh se o arquivo for executável ou bash run_echoed.sh ), você imprimirá o conteúdo do diretório (o comando ls será executado).

Claro, certifique-se de que seu php travis_groups.php imprima os comandos (apenas execute no terminal). Caso contrário, você não pode dizer ao outro script o que atribuir à variável.

    
por 27.08.2015 / 15:34