Shell(.sh)编译器

Shell(.sh)编译器

我如何编译 shell(.sh) 文件?(SHC 3.8.9),我只在同一台服务器上工作,而不在其他服务器上工作。

答案1

shc可以将 shell 脚本编译为可执行文件,如下所示:

$ 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

当然还有其他编译器,例如韓國。一般来说,没有必要编译脚本,除非出于版权原因要对其进行混淆。

了解更多信息。

答案2

编译是将源代码转换为可执行文件。例如,编译用 C 编写的程序。

Perl、bash、korn、cshell 和其他脚本语言不需要编译,事实上,这些工具的编译器是不需要的,也不存在。

相关内容