Compilar shell script

Publicado por Marcos Miras em 25/06/2008

[ Hits: 30.646 ]

 


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

Escutando CDs no XMMS

Deixando seu GEdit com a cara do TextMate

Repositórios para CentOS 5

Turbinando o Firefox

Leitura recomendada

Como passar parâmetros para um alias no Bash

Configurando temas no Bashtop

online_man - Páginas de manual online no terminal

Comentar em bloco

Controle de usuários logados

  

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