Shell脚本大小57M

Shell脚本大小57M

我最近下载了yEd 图形编辑器安装程序shell脚本,大小57M

当检查该脚本时

头脚本

root@home-pc:/usr/local/src# head yEd-3.11.1_32-bit_setup.sh
#!/bin/sh

# Uncomment the following line to override the JVM search sequence
# INSTALL4J_JAVA_HOME_OVERRIDE=
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=


INSTALL4J_JAVA_PREFIX=""
GREP_OPTIONS=""

尾部脚本

root@home-pc:/usr/local/src# tail yEd-3.11.1_32-bit_setup.sh 
��D�r�B��|�QO���W~��
_l�Tނ�t:M�Z�*��Ѵ��'�����(�\�A^��[��e�|����K+�<ѡ)��k
                                                    �l������3$+
                                                                `�cF���b\]��14�'qA�)�F�Pg��l���)�x{��A�Qك�Mf`^9e���C5�-���K&K��n�]��v�7�����]�wS�)~��?`�ߴ=����ں.AE�u����v�]�������
>1�f�\8w�+�mw�������6M��2��½���8g�M���Ǵ�^ͪ�A^�fKm*�6Yb
                                                        u�8B~!  ��Ue����'����
�B����`1���8�!$-!�k�2O�u����Į��%�<8@�������)���-�5a��^h����[�v�x j��/~�3��
                                                                                  �u�b�l��.jx3W��n����>���.���
���d�Ox�*~*~*~*~*~�*��*��*����������������������������������������������������{ے

那么请您帮我解决以下问题:

  • 为什么这个 shell 脚本有类似二进制的内容?
  • 这个内容有什么用?
  • 如果它有用那么我该如何实现呢?

答案1

它很可能是一个独立的可执行文件。可执行文件、目录结构等都作为二进制 blob 包含在这个单个文件中。有几种工具可以帮助创建自包含的可执行文件,例如这个。

这是一个可以执行此操作的此类应用程序的示例,makeself - 在 Unix 上制作可自解压的档案

还有其他一些内容在互联网上流传。搜索“self containsexecutablelinux”,你就会找到它们。另请查看其他 U&L 问答,标题为:如何制作 Linux 应用程序(全合一)安装程序?对于其他方法。

相关内容