Compilador (.sh) [fechado]

0

Como posso compilar um arquivo shell (.sh)? (S.H.C 3.8.9), estou trabalhando apenas no mesmo servidor e não em outros servidores.

    
por linuxopi 08.06.2017 / 20:46

2 respostas

1

Com shc você pode compilar um script de shell em um arquivo executável da seguinte forma:

$ cat myscript.sh                                          
#!/bin/bash

echo Hello World

stat /etc/passwd
$ shc -vf myscript.sh                                      
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc  myscript.sh.x.c -o myscript.sh.x
shc: strip myscript.sh.x
shc: chmod go-r myscript.sh.x
$ ./myscript.sh.x
Hello World
  File: '/etc/passwd'
  Size: 2905        Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d  Inode: 6041065     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-03-17 15:41:35.682814004 -0600
Modify: 2017-03-17 15:41:35.686813953 -0600
Change: 2017-03-17 15:41:35.694813853 -0600

Existem, é claro, outros compiladores, por exemplo, ccsh . Geralmente, não é necessário compilar scripts, a menos que você deseje ofuscá-lo por motivos de direitos autorais.

Veja este para mais informações.

    
por Sergiy Kolodyazhnyy 08.06.2017 / 21:27
0

A compilação é para transformar o código-fonte em um arquivo executável. Um exemplo seria compilar um programa escrito em C.

Perl, bash, korn, cshell e outras linguagens de script não precisam ser compiladas e, na verdade, compiladores para essas ferramentas não são necessários e não existem.

    
por jones0610 08.06.2017 / 21:00