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.
Utilizaremos agora conexão com o banco de dados MySQL.
Vamos entender que você já sabe mexer com MySQL e que tem um banco
criado com o nome de intranet e uma tabela com as seguintes
características:
nome da tabela: agenda
campos: nome, tel
Tendo isso configurado passaremos para o script:
#!/bin/bash
echo -n "Digite o Nome: "
read nome
echo -n "Digite o numero de seu Telefone: "
read tel
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$insert = "insert into agenda (nome,tel) values ('$nome','$tel')";
mysql_query(\$insert,\$conexao);
echo "Dados Inseridos com Sucesso !!! \n";
?>
PHP
Nesse exemplo o usuário digitará o nome e depois um telefone e será
gravado na tabela.
Script para consulta de dados no banco:
#!/bin/bash
echo -n "Digite o nome para ser consultado: "
read nome
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$consultar_login="select * from agenda where nome like '%$nome%'";
\$resultado=mysql_query(\$consultar_login,\$conexao) or die (mysql_error());
while(\$campo = mysql_fetch_array(\$resultado)) { \$nome = \$campo["nome"]; \$tel = \$campo["tel"];
echo "\$nome | \$tel \n" ; }
?>
PHP
Aqui estamos usando uma consulta com a opção de like no SQL, bastando
para isso digitar apenas uma palavra para consulta.
Vamos entender o que acontece com o insert e com o consulta
Abrimos a script com shell script (#!/bin/bash) e depois
colocamos outro interpretador dentro dele
(/usr/bin/php -q << PHP). Para finalizarmos usamos o comando
PHP e podemos ainda continuar com o shell script normalmente.
Só mais um lembrete: para usarmos variáveis do shell script dentro do
PHP usamos a variável ($) seguido do nome do campo e para usarmos variáveis
dentro do PHP, usamos (\) seguido do caractere ($), ficando assim:
[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 ...
[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???
[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??
[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??
[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.
[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.
[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.
[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
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