Como compilar um script de shell no FreeBSD?

1

Como posso compilar um script de shell binário para o FreeBSD? Eu tentei o emulador binário do Linux, mas não funciona.

    
por Julio Fong 14.03.2013 / 20:25

3 respostas

1

A solução é usar apenas o ksh insteed de [ba] sh como interpretador de scripts.

    
por 15.03.2013 / 14:40
1

O programa shc não é um compilador de shell real. Na página de manual :

shc itself is not a compiler such as cc, it rather encodes and encrypts a shell script and generates C source code with the added expiration capability. It then uses the system compiler to compile a stripped binary which behaves exactly like the original script. Upon execution, the compiled binary will decrypt and execute the code with the shell -c option. Unfortunatelly, it will not give you any speed improvement as a real C program would

Algumas linguagens de script, como por exemplo Python converte scripts em bytecode antes de executá-los. Os reservatórios que podem ser usados interativamente geralmente não são apenas intérpretes.

Poder-se-ia até argumentar que, salvo alguns embelezamentos como variáveis, loops e outras estruturas de controle, os shells são principalmente um front-end para as funções fork e exec .

    
por 24.08.2013 / 19:33
0

Não existe realmente um script de shell binário (script não significa binário) - embora seja possível anexar um arquivo binário executável ou um arquivo compactado no final de um script de shell, que geralmente contém apenas um comando tail para tira o script de shell e descompacta / pré-processa e executa o binário.

Se configurado corretamente, o script deve incluir o shell a ser usado (#! / bin / sh seria o padrão tradicional do unix) ou deve usar apenas comandos comuns a todos os shells. O mais simples é fazê-lo só para segurança e abri-lo com vi e dar uma olhada, e então executar o (s) comando (s) de carga no arquivo (com ajustes conforme necessário - muitas vezes o ponto é configurar algumas variáveis de ambiente ou fazer algum pré-processamento, na maioria das vezes incluindo descompressão).

    
por 18.03.2013 / 03:38

Tags