Variavel PHP no Shell [RESOLVIDO]

1. Variavel PHP no Shell [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 13/11/2012 - 16:27h

Boa tarde a todos

Estou com um problema, preciso passar valor de uma variável PHP para dentro de um shell script. Alguém sabe de alguma função desse tipo?





  


2. MELHOR RESPOSTA

Flavio Milan
flaviomilan

(usa Arch Linux)

Enviado em 13/11/2012 - 16:52h

Agora você me deixou confuso, se o script php vai executar uma tarefa no linux que seria por exemplo o seu cp, você faria assim:

$caminho = "/exemplo";
$cp = "cp /home/allan/texto.txt ".$caminho."/texto.txt";
shell_exec($cp);

faça o teste

abraço

3. Re: Variavel PHP no Shell [RESOLVIDO]

Flavio Milan
flaviomilan

(usa Arch Linux)

Enviado em 13/11/2012 - 16:36h

acredito que isso resolva

$comando = "conteudo";
$variavel = "export VARIAVEL=\"$comando\"";
shell_exec($variavel);

espero ter ajudado


4. Re: Variavel PHP no Shell [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 13/11/2012 - 16:44h

Opa que rápido, obrigado haxtofu por estar respondendo

não consegui imaginar como utilizarei seu código, pode me orientar? Vou postar exemplo do script, se puder me ajudar novamente.
#!/bin/bash

$caminho = variavelphp


cp /home/allan/texto.txt $caminho/texto.txt



5. Re: Variavel PHP no Shell [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 13/11/2012 - 16:49h

imagino que a solução acima funcione

uma outra forma é passar essa variavel como um paramentro para o shell script

$variavel = "N1nj4";
exec("script.sh \"$variavel\"");



6. Re: Variavel PHP no Shell [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 13/11/2012 - 17:08h

haxtofu escreveu:

Agora você me deixou confuso, se o script php vai executar uma tarefa no linux que seria por exemplo o seu cp, você faria assim:

$caminho = "/exemplo";
$cp = "cp /home/allan/texto.txt ".$caminho."/texto.txt";
shell_exec($cp);

faça o teste

abraço


isso funciona, e é bem mais interessante que chamar um script

mas eu não considero como o certo, o PHP possui funções prontas para manipulação de arquivos,
e elas funcionarão independente de S.O.

e também tem que levar em conta que 99% dos servidores de hospedagem desabilitão a função exec() por questões de segurança, isso pode não ser um problema agora mas poderá ser no futuro



7. Re: Variavel PHP no Shell [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 13/11/2012 - 17:48h

Pelo comentário do adri3d, resolvi utilizar funções para executar da forma que haxtofu falou.

Porém estou tendo problemas.

Pessoal, para não ficar sugando muito em apenas 1 tópico criei outro. Vou dar esse como resolvido
Muito obrigado ao adried e haxtofu que me ajudaram, se puderem ajudar outra vez segue o link do novo tópico, http://www.vivaolinux.com.br/topico/PHP/shell_exec-1


8. Re: Variavel PHP no Shell [RESOLVIDO]

Flavio Milan
flaviomilan

(usa Arch Linux)

Enviado em 13/11/2012 - 18:02h

provavelmente o problema está em

$caminho=/home/allan/teste

... altere para

$caminho = "/home/allan/teste";




9. Re: Variavel PHP no Shell [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 13/11/2012 - 18:07h

Na verdade estou recebendo de um "input text" ficaria da seguinte forma

$caminho = ($_POST["Exportar"]);



10. Re: Variavel PHP no Shell [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 13/11/2012 - 18:47h

Esse tipo de coisa é fonte típica de problemas de segurança. Tome muito cuidado com metacaracteres do shell, como "?", "*", "["..."]", aspas, apóstrofos, espaços em branco e, principalmente, ";" e "`".






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts