Introduzindo um pouco mais a fundo o shell script (revisado)
Shell Script é a linguagem de programação de alto nível interpretada pelo shell. Se você não entendeu o significado da frase anterior, é bem provável que este artigo possa lhe ser útil.
Parte 3: Cara, cadê a tal da prototipagem?
Calma, neo. Irei apenas lhe mostrar a porta, mas quem decide atravessá-la é você. Então observe um minúsculo porém eficaz exemplo que usa outras linguagens além do Shell Script.
Neste exemplo temos uma consulta em um banco de dados MySQL diretamente na bash sem que fiquemos permanentemente conectados a "CLI", onde, usamos:
Isso gera um resultado como se você tivesse acessado diretamente o mysql através da sua shell e depois se conectado a base de dados para logo depois de executar a query sair imediatamente mostrando o resultado da consulta que pode ser colocado dentro de um Shell Script e seu resultado, caso você queira, guardado dentro de uma variável. Como no exemplo abaixo:
Deu certo! Beleza!!!
Agora eu sei que esse trecho dará muito certo também em outra linguagem como a C, já que ele foi prototipado em Shell Script.
Para compilá-lo, use o dificílimo comando dentro da pasta onde esta o código fonte:
gcc ./nome_do_codigo_fonte.c -o nome_do_executavel
Para executar seu programinha, use a linha seguir dentro do diretório onde foi gerado o executável.
./nome_do_executavel
E seja um GNU/Linuxer feliz 8)
Neste exemplo temos uma consulta em um banco de dados MySQL diretamente na bash sem que fiquemos permanentemente conectados a "CLI", onde, usamos:
mysql -u nome-usuario_do banco_de_dados -psenha -d base_de_dados -e 'SELECT * FROM minha_tabela;'
Isso gera um resultado como se você tivesse acessado diretamente o mysql através da sua shell e depois se conectado a base de dados para logo depois de executar a query sair imediatamente mostrando o resultado da consulta que pode ser colocado dentro de um Shell Script e seu resultado, caso você queira, guardado dentro de uma variável. Como no exemplo abaixo:
VAR=$(mysql -u usuario_do_banco de dados -pssenha -D base_de_dados -e 'SELECT * FROM minha_tabela;')
Deu certo! Beleza!!!
Agora eu sei que esse trecho dará muito certo também em outra linguagem como a C, já que ele foi prototipado em Shell Script.
Shell Script + C para todos...
Uma dica diferente de compilar um script sem o uso do shc (shell compiler), que também evita "espertinhos" que tem acesso a conta de root e modificam o código de um shell script só para zoar com você, é usar a função system do C que chama os comandos que estão no path do sistema.
#include <stdio.h>
main()
{
system("\
clear;\
mysql -u root -p123456 -D testes -e '\
SELECT * FROM minha_tabela' | \
less \
");
}
main()
{
system("\
clear;\
mysql -u root -p123456 -D testes -e '\
SELECT * FROM minha_tabela' | \
less \
");
}
Para compilá-lo, use o dificílimo comando dentro da pasta onde esta o código fonte:
gcc ./nome_do_codigo_fonte.c -o nome_do_executavel
Para executar seu programinha, use a linha seguir dentro do diretório onde foi gerado o executável.
./nome_do_executavel
E seja um GNU/Linuxer feliz 8)