Compilar shell script

Publicado por Marcos Miras em 25/06/2008

[ Hits: 30.584 ]

 


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

Acelerando o YUM

Deixe o Windows com cara do Ubuntu

Escutando CDs no XMMS

Resolvendo o REDIRECT_TO do Rails em HTTPS

MySQL Control Center - Gerenciando seu MySQL

Leitura recomendada

Configurando acesso à VPN no Ubuntu Linux

Removendo linhas duplicadas de um arquivo texto

Transposição COLUNA x LINHA

Letras Bacanas no seu Shell Script sem Figlet

Atualizar Panda antivírus para Linux via script

  

Comentários
[1] Comentário enviado por Heitor.rj em 19/11/2015 - 13:52h

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



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts