shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Assunto: Re: [shell-script] Criar executável a partir de script...


From: Emerson Moreira Rocha
Subject: Assunto: Re: [shell-script] Criar executável a partir de script...
Date: Tue, 26 Sep 2017 20:15:09 +0000 (UTC)

Fernando, compila o Shell com o gcc 

Enviado do Yahoo Mail no Android

Em ter, 26 26e set 26e 2017 às 17:12, Fernando Mercês address@hidden [shell-script]
&It;address@hidden> escreveu:
 

O shc é o cara pra isso, mas tem pelo menos duas abordagens aí:

1. Escrever um parser que vai gerar código de uma linguagem compilada (C por exemplo) a partir de shell. Isso seria o terror. rs
2. Passar o conteúdo de um script para o interpretador do shell, a partir de um compilado.

Na abordagem 2, um código embrionário seria:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

char buff[] = "echo 3+3|bc\n" \
                 "for i in {1..5}; do" \
                 "   echo $i\n" \
                 "done\n" \
                 "pwd\n";

system(buff);

return 0;
}

Ao compilar e executar, você tem a seguinte saída:

$ gcc -o a a.c
$ ./a
6
1
2
3
4
5
/tmp

Funciona, mas tem maneiras melhores. Ao invés de usar um buffer de char, poderia ler de um arquivo (o script), ao invés de usar a system(), criar um pipe para o binário do bash com o a popen [1], etc. Ou simplesmente usar o shc. O.o

A necessidade é esconder o código do script? Ter mais performance? Qual a treta? rs

Abraço.



Att,

@MercesFernando
mentebinaria.com.br
---------------------------

2017-09-26 11:46 GMT-03:00 Gilberto Nunes address@hidden [shell-script] <address@hidden>:
 

Bom dia amigos

Eu ia perguntar aqui na lista como criar um executável binário, a partir de um shell...
Mas antes fiz uma pesquisa no google e achei isso:


Pode ajudar mais alguém... A propósito se alguém souber método diferente, compartilha aí

Abraço


---
Gilberto Ferreira

Consultor TI Linux | IaaS Proxmox, CloudStack, KVM | Zentyal Server | Zimbra Mail Server





reply via email to

[Prev in Thread] Current Thread [Next in Thread]