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