Apresento o
SHC (Shell Script Compiler) um compilador de Shell Scripts, que nos permite gerar um arquivo
binário compilado dos nossos scripts, que na minha avaliação, é útil para que seu script ganhe um forma simples de ser
executado, apenas com 2 cliques no arquivo, útil para facilitar a execução do script.
O SHC geralmente é usado para compilar um script, possibilitando que você distribua o arquivo compilado, onde o usuário não
vai ter acesso ao codigo fonte do scritpt. Então, porque uma Dica que ensina a fechar o código em uma página de software
livre?
Calma, já vi que temos a dica
SHC-
Compilando-seu-shell-script, e li também algumas críticas sobre fechar o código com ele, também concordo com as
críticas, mas nessa Dica foco o objetivo de permitir ao usuário uma facilidade para executar o script, e não ter que toda hora
abrir um terminal para executá-lo, ou mesmo dar 2 cliques e saber que deve-se clicar em "Executar em Terminal" depois.
Só pra criticar um pouco mais, tem a opção de colocar prazo de expiração de uso :-), mas nem vou citar muito sobre isso,
poderão ver no manual oficial, após instalar, com o comando:
man shc
Sinceramente acho uma opção desnecessária para o mundo do Software Livre.
O bom da ferramenta é que podemos disponibilizar uma forma fácil para o usuário executar seu script, se quiser disponibilizar
o código também, basta enviar junto o script, fica a seu critério.
Vamos lá, baixe o shc em:
Descompacte o arquivo:
tar -xzf shc-3.8.6.tgz
cd shc-3.8.6
Execute o seguinte comando, para instalar (não precisa de ./configure e nem make):
sudo make install
Vai perguntar para você:
*** Installing shc and shc.1 on /usr/local
*** �Do you want to continue?
Confirme digitando
y e tecle
<ENTER>
Pronto, agora temos o SHC instalado, e você já pode ver a gama de opções agradáveis e desagradáveis dele :-)
Para scripts que usem interface gráfica, através do
Zenity,
Yad, etc, pode-se simplesmente usar o
comando:
shc -f nome_do_script.sh
Pronto ele vai criar os arquivos
nome_do_script.sh.x (executável compilado) e
nome_do_script.sh.x.c (código em c).
Para disponibilizar seu script e/ou executá-lo com apenas dois cliques do mouse, basta clicar 2 vezes no arquivo
nome_do_script.sh.x, coloque ícones, brinque a vontade.
Há um porém, se seu script não usa interface gráfica, mas vai ser executado dentro de um ambiente gráfico, como Gnome, ele
não tem como saber que deve abrir um terminal como o gnome-terminal, para depois executar o script, então criei um rápido
truque :-)
Para demonstrar, peguei o script que disponibilizei na área de scripts do Vol:
Sorteio.
Ok, baixe esse script ou use um seu e vamos ao truque:
Se você simplesmente executa-se o comando
shc -f sorteio.sh, não vai abrir nada clicando no arquivo
sorteio.sh.x, para solucionar o problema eu crio um outro script, responsável por abrir o nosso script alvo (usei o editor de
texto nano, podem usar qualquer outro):
nano abre_script.sh
Cole o conteúdo:
#!/bin/bash
gnome-terminal -e ./sorteio.sh
Para salvar, digite: <CTRL+O>, e para sair do nano: <CTRL+X>
Agora compilamos o script que acabamos de criar:
shc -f abre_script.sh
Será gerado o arquivo
abre_script.sh.x, que agora podemos usar para abrir nosso script diretamente no gnome-
terminal.
Espero ter contribuído com o conhecimento de alguém.