Размер скрипта оболочки 57M

Размер скрипта оболочки 57M

Я недавно скачалРедактор графиков yEdСкрипт установщика, размер которого составляет 57 МБ

Когда проверите этот сценарий

главный сценарий

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�*~*~*~*~*~�*��*��*����������������������������������������������������{ے

Не могли бы вы помочь мне со следующим вопросом:

  • Почему этот скрипт оболочки имеет двоичное содержимое?
  • Какова польза от этого контента?
  • если это полезно, то как я могу реализовать то же самое?

решение1

Скорее всего, это самостоятельный исполняемый файл. Исполняемые файлы, структура каталогов и т. д. включены в виде двоичного blob в этом одном файле. Существует несколько инструментов, которые могут помочь в создании самостоятельных исполняемых файлов, таких как этот.

Вот пример одного из таких приложений, которое может это сделать:makeself - Создание самораспаковывающихся архивов в Unix.

В Интернете есть и другие. Поищите "self contain executable linux", и вы их найдете. Также взгляните на этот другой вопрос и ответ U&L под названием:Как создать установщик приложений Linux (все в одном файле)?для других методов.

Связанный контент