Como ler variáveis de um arquivo php no bash

3

Como faço para exportar variáveis de um script PHP no Bash?

Estou escrevendo um script Bash para ler nomes de banco de dados de config.php arquivos de cada site e, em seguida, importo o banco de dados do repositório de backup. Eu tentei usar source config.php , mas parece que não reconhece variáveis PHP.

Qualquer ajuda seria apreciada.

    
por KarenV 24.11.2015 / 22:25

1 resposta

1

Uma versão muito simplificada seria algo como segue:

2 linhas em config.php :

cat config.php
$variable1 = 'foo with bar';
$variable1 = 'foo2 with bar2';

Defina Bash $variable1 como a última instância correspondente de $variable1 em config.php , caso tenha sido redefinida. Se você quiser alterá-lo para a primeira correspondência, basta alterar tail -1 para head -1 no código a seguir:

variable1="$(grep -oE '\$variable1 = .*;' config.php | tail -1 | sed 's/$variable1 = //g;s/;//g')"

Confirme a variável de bash via echo :

echo "$variable1"
'foo2 with bar2'

Observe que isso funcionará principalmente para strings. Existem muitos tipos de variáveis PHP que não podem ser convertidas diretamente em variáveis Bash. O código acima irá pegar o último $variable1 referenciado em config.php . Como eu disse, se essa variável foi definida várias vezes, você pode definir o primeiro valor ou o último valor alterando head ou tail no comando Bash que define a variável.

    
por 24.11.2015 / 23:05

Tags