Compilar shell script
Boas galera,
Se você tem um cliente e deseja criar scripts de backup, rotinas etc e não o faz por receio de haver cópia, pois bem, existe uma solução, que é o SHC.
O
SHC ou
Generic Shell Script Compiler, cria um arquivo binário executável. Ele converte para C e posteriormente para um binário executável.
Instalação:
Red-likes - você deve ter instalado o repositório
rpmforge:
# yum install shc
Debian-likes:
# apt-get install shc
Utilização:
Crie um arquivo
$ vi teste
E insira o seguinte conteúdo:
#!/bin/bash
echo "Viva o
Linux!"
Salve e feche o arquivo, execute o shc sobre ele:
$ shc -f -r -v teste
Onde:
- f = arquivo a ser compilado;
- v = modo verbose;
- r = torna compatível com outras distros.
Ele criará dois arquivos, um chamado teste.x, que é o binário executável e outro chamado teste.x.c, que é o script convertido em C.
Torne o arquivo teste.x executável (chmod +x teste.x) e execute:
$ ./teste.x
Você pode renomeá-lo para teste.bin pra ficar mais bonitinho, lembrando também que você deve chamar o interpretador no começo do arquivo:
#!/bin/bash
Até a próxima...
Marcos Miras
www.atmsystem.com.br
Outras dicas deste autor
Memória de 4GB só mostra 3.3GB no Red Hat e CentOS 5
Instalação do Ruby e rubygems
MySQL Control Center - Gerenciando seu MySQL
Rails + Apache = mod_rails
Deixe o Windows com cara do Ubuntu
Leitura recomendada
Base de dados mais organizada em shell script
Showterm: screencast pelo terminal
Proxy sem autenticação - Configurando através do terminal
Reparar - Recuperação de sistemas baseados em Debian
Imprimindo repetidamente uma palavra ou frase na tela
Comentários
Excelente Artigo!
Apenas para contribuir e corrigir o comando:
No lugar de:
shc -f -r -v teste
O Correto é:
shc -rvf teste
Pois no Slackware não funciona assim: shc -f -r -v teste
Porque após o -f precisa informar o nome do arquivo!
Testado com a versão 3.8.7 do shc