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 應用程式(全合一)安裝程式?對於其他方法。

相關內容