Shell script com PHP

Este artigo nos introduz ao mundo da programação shell script, nos apresentando de forma na prática todo o seu poder, com exemplos de integração de shell script, PHP e MySQL.

[ Hits: 145.034 ]

Por: Eduardo Assis em 26/08/2003 | Blog: http://www.proredes.com.br


Integrando shell com PHP



Bem como já aprendemos a usar shell script passaremos a usar PHP junto.

Foi publicado na Revista do Linux edição 43 e estou postando para que outras pessoas tenham acesso.

$ mcedit script.php (lembrando que a extensão não importa)

#!/usr/bin/php -q

<?
echo " Ola, World \n" ;
?>

$ chmod +x script.php

depois:

$ ./script.php

Aparecerá:
Ola, World

Pronto, temos nosso primeiro shell script usando PHP!

Quem já manja de PHP tenho certeza que fica pensando já no que pode fazer e digo que realmente o que vocês estão pensando... sim, dá para fazer sim, pois o PHP é uma excelente ferramenta.

Vejamos mais um exemplo:

#!/usr/bin/php -q
<?
echo " Informe uma palavra de até 100 Caracteres: ";

$var_stdin = fopen('php://stdin', 'r');
$var_palavra = str_replace("\n", "", fgets($var_stdin,100));
echo " A palavra digitada foi $var_palavra e possui " . strlen($var_palavra) . " caracteres \n ";
?>

e depois:

$ ./script.php

Outro exemplo e o mais esperado: Como interagir um shell script com o PHP.

$ mcedit script.sh

#!/bin/bash

echo -n " Digite Seu Nome: "
read nome
echo $nome
echo
#!/usr/bin/php -q << PHP
<?
echo " Ola, World \n" ;
?>
PHP

Pronto, temos shell script com PHP!

Página anterior     Próxima página

Páginas do artigo
   1. Começando com shell script
   2. Integrando shell com PHP
   3. Shell, PHP e banco de dados
   4. Conclusão
Outros artigos deste autor

Simulando o SSH via WEB

Configurando mais de um IP por placa de rede

Carregando scripts ao se logar no Samba

Servidor seguro com Bridge, Snort e Guardian

Cadastrando usuários no Linux e Samba via PHP

Leitura recomendada

Relatório de sistema via browser (shell script + CGI)

Shell Script como serviço no Windows

Relatório do sistema (Shel Script + PHP)

pam_mount e CiD - Gerenciamento centralizado dos mapeamentos de unidades de rede no Ubuntu

Entendendo, criando e editando pacotes Debian (.deb)

  
Comentários
[1] Comentário enviado por dinho_rock em 27/08/2003 - 03:05h

Muito legal seu artigo, mas vale lembrar que você pode fazer o script usando só o PHP, sem programar nada como shell script.

Um abraço
Thiago

[2] Comentário enviado por tucs em 27/08/2003 - 12:23h

Claro que sim ... quis dizer como interagir com o Shell Script ...
Programo em PHP e em Shell Scripts ...
Quando tenho que fazer algo no Servidor Linux e naum da para fazer em PHP passando parametros para o Linux uso Shell Script e tenho certeza que quem usa Shell Script nunca vai usar PHP...
Pois eh o meu caso
Esse artigo fiz no intuito de aprendizagem para alguem ...
e espero que ajude ...

[3] Comentário enviado por dinho_rock em 29/08/2003 - 15:36h

Só para constar, para passar paramentros pelo php via shell, basta usar a variavel $argv;

Por exemplo, php -q arquivo.php variavel1 variavel2 variavel3

Vai resultar em:

$argv[0] = "arquivo.php";
$argv[1] = "variavel1";
$argv[2] = "variavel2";
$argv[3] = "variavel3";

Um abraço
Thiago

[4] Comentário enviado por gustavo_marcon em 05/09/2003 - 16:30h

muito bom este artigo....

estava c/ problemas no desenvolvimento de um projeto em php pelo user do apache não ter permissão de criar users.

agora posso mesclar os dois e ver no que vai dar....

[5] Comentário enviado por tucs em 05/09/2003 - 17:38h

gustavo_marcon

Eu tenho uma solucao para issu ...
Tinha mandado para o Fabio publicar ... mas naum sei o que aconteceu que ele ainda naum publico ... mas era assim ...
site em PHP que cadastrava usuarios na Banco de Dados e depois no Linux e Samba ... fiz para uma escola de Informatica e esta rodando muito bem ...

[6] Comentário enviado por tucs em 05/09/2003 - 17:43h

gustavo_marcon

Eu tenho uma solucao para issu ...
Tinha mandado para o Fabio publicar ... mas naum sei o que aconteceu que ele ainda naum publico ... mas era assim ...
site em PHP que cadastrava usuarios na Banco de Dados e depois no Linux e Samba ... fiz para uma escola de Informatica e esta rodando muito bem ...

[7] Comentário enviado por tucs em 05/09/2003 - 17:43h

gustavo_marcon

Eu tenho uma solucao para issu ...
Tinha mandado para o Fabio publicar ... mas naum sei o que aconteceu que ele ainda naum publico ... mas era assim ...
site em PHP que cadastrava usuarios na Banco de Dados e depois no Linux e Samba ... fiz para uma escola de Informatica e esta rodando muito bem ...

[8] Comentário enviado por gustavo_marcon em 08/09/2003 - 14:41h

Eu consegui passar as variáveis do shell pro php colocando \ na frente da variavel, mas ñ sei como fazer p/ fassar variáveis do php pro shell, pois tentei com e sem a \ e não seu certo

[9] Comentário enviado por gustavo_marcon em 08/09/2003 - 18:52h

ñ dá certo passar as variáveis do php pro shell pelo seguinte:
quando terminamos de usar o compilador php usamos o comando PHP p/ mostrar que deve ser encerrado o compilador shell.

Dai as variáveis são perdidas..
Preciso muito fazer funcionar, alguém sabe como faço???

[10] Comentário enviado por gustavo_marcon em 13/09/2003 - 10:45h

olá tucs, notei que o fábio ainda ñ publicou aquele seu artigo sobre o sudo, eu estou precisando disto, será que vc poderia me enviar por email??

[11] Comentário enviado por cesarfontenele em 25/11/2003 - 08:57h

Tucs muito bom seu artigo... Gostaria de receber o outro artigo q vc interage com um site cadastrando seus usuarios no linux e samba. Vc pode me mandar por email??

Falow

[12] Comentário enviado por cesarfontenele em 25/11/2003 - 08:58h

Tucs muito bom seu artigo... Gostaria de receber o outro artigo q vc interage com um site cadastrando seus usuarios no linux e samba. Vc pode me mandar por email??

Falow

[13] Comentário enviado por leogenilhu em 16/12/2003 - 23:00h

muito bom seu artigo so tenho uma duvida
para usar esta interacao shell/php
meu php pode estar compilado com modulo do apache ?



[14] Comentário enviado por gustavo_marcon em 12/02/2004 - 18:16h

Olá tucs tudo bem? Lembro q uma vez vc me mandou um script seu q criava usuários no linux usando o sudo. Foi bastante útil p/ mim, mas eu perdi ele e estou precisando do esquema novamente pois tenho q desenvolver um sistema c/ permissão de desligar o servidor atrávez de uma página web hospedada no apache do mesmo servidor. Será q vc poderia fazer o favor de me enviar esse script novamente p/ mim tirar as idéias principais? É muito importante.

Obrigado!

[15] Comentário enviado por gustavo_marcon em 12/02/2004 - 18:17h

Olá tucs tudo bem? Lembro q uma vez vc me mandou um script seu q criava usuários no linux usando o sudo. Foi bastante útil p/ mim, mas eu perdi ele e estou precisando do esquema novamente pois tenho q desenvolver um sistema c/ permissão de desligar o servidor atrávez de uma página web hospedada no apache do mesmo servidor. Será q vc poderia fazer o favor de me enviar esse script novamente p/ mim tirar as idéias principais? É muito importante.

Obrigado!

[16] Comentário enviado por claudiano em 24/07/2004 - 11:07h

gostaria tambem desse script (sudo) meu email: claudianolopes@hotmail.com, caso vcs tenham um script para mostrar o ip da maquina (não da conexao - pq utiliza um servidor nat) eu agradeceria.

claudiano lopes

[17] Comentário enviado por lordpeark em 14/06/2005 - 17:28h

Fino o script, mas faltou um esac no final para finalizar o case..mas valeu..gostei do script..

[18] Comentário enviado por raphael.sx em 02/08/2006 - 09:22h

Esse artigo, pra quem gosta de programar em PHP, é muito interessante. E mostra também como o shell script e é claro o Linux são poderosos. Valeu!

[19] Comentário enviado por yetlinux em 09/10/2006 - 06:02h

Graças à esse recurso chamado de she-bang podemos fazer coisas loucas nos unices da vida.

Experimentem digitar um texto qualquer como:

--BEGIN--
Falta alguma coisa no Brasil
depois da noite de sexta-feira.
Falta aquele homem no escritório
a tirar da máquina elétrica
o destino dos seres,
a explicação antiga da terra.

Falta uma tristeza de menino bom
caminhando entre adultos
na esperança da justiça
que tarda - como tarda!
a clarear o mundo.

Falta um boné, aquele jeito manso,
aquela ternura contida, óleo
a derramar-se lentamente.

Falta o casal passeando no trigal.

Falta um solo de clarineta.
--END--

Vamos chamar de poema.

coloquem na primeira linha exatamente como está abaixo:
#!/usr/bin/cat

mudem a permissão de escrita
$ chmod +x poema

e a seguir executem o arquivo.

[20] Comentário enviado por coffani em 09/06/2008 - 23:29h

Ja esta no meu favoritos.........

[21] Comentário enviado por gestordesistemas em 18/05/2010 - 09:29h

Para funcionar este PHP como shell tive que instalar o php-cli

apt-get install php-cli



[22] Comentário enviado por leandrosoaresluz em 22/03/2011 - 21:03h

brother, da um força? tenho o seguinte script em shell

#!/bin/bash

echo ""
echo -n "informe o nome do usuario:"
read nome

htpasswd -p /usr/local/squid/etc/senhas_squid $nome

echo
echo "novo usuario $nome criado com sucesso"
echo




pronto!

esse cara cria o usuario no meu arquivo de usuarios do squid...funciona que eh uma beleza via linha
de comando, meu problema é: uso o squidadmin para gerenciamento do squid e preciso chamar esse .sh dentro da minha pagina php...eis ai o problema, ja tentei de varias formas e nao consegui fazer funcionar...tem ideia de como seria? abraços

[23] Comentário enviado por aldisseia em 27/02/2015 - 12:39h

Ta dando esse erro
Exception: Zend Extension ./quem.php does not exist
Dentro do arquivo tá assim
#!/usr/bin/php -q
<?php
echo "Ok";
?>


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts